• day95


    Linux基本部署配置及常见扩展应用

    Linux软件包安装方法

      1. 安装:
        整个安装过程可以分为以下几步:
        1) 取得应用软件:通过下载、购买光盘的方法获得;
        2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;
        3) 阅读附带的INSTALL文件、README文件;
        4) 执行“./configure”命令为编译做好准备;
        5) 执行“make”命令进行软件编译;
        6) 执行“make install”完成安装;
        7) 执行“make clean”删除安装时产生的临时文件。
      好了,到此大功告成。我们就可以运行应用程序了。但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说, Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的 INSTALL和README文件,一般都会有说明。
      2. 卸载:
        通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。
        那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是Kinstall和Kife,它们是tar包安装、卸载的黄金搭档。

    rpm包管理

      1.光盘挂载(只有将光盘挂在上一个文件,我们才能使用)

     mount /dev/cdrom /mnt
     cd  /mnt
     ls
    

      2.安装rpm包

    rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
    rpm -Uvh vsftpd-3.0.2-22.el7.x86_64.rpm
    

      3.卸载rpm

    rpm -e vsftpd-3.0.2-22.el7.x86_64
    

      4.rpm包的查询

    rpm -q vsftpd
    有则返回其文件名
    rpm -q vsftp
    无则返回没有安装该包
     rpm -qa |grep vsf
    在rpm文件下模糊搜索
    which vim
    查询vim的目录
    rpm -qf /usr/bin/vim
    查看某个文件下的某个包

      5.补充

      因为一些包之前存在着依赖关系,所以下载某些包时,需要先下载其依赖,但是有时候依赖有可能是这样的

    A的依赖BC   B的依赖DF   F的依赖AC
    

      如果出现这种情况我们可以:rpm  -ivh  a b c d e f

    yum的使用

      1.使用aliyun yum站点源

        Base源:

    cd /etc/yum.repos.d/
    进入到该文件下进行操作
    mv *.repo /tmp
    先将原本的源文件移走,不然若先匹配到原有的源文件,会直接去匹配到的文件指向的地址下载
    wget http://mirrors.aliyun.com/repo/Centos-7.repo
    设置地址

        EPEL源:

    yum install -y epel-release
    

      2.使用yum安装软件

    yum install -y openssl openssl-devel 
    

      3.软件包查询及组安装

    yum list |grep vsftpd
    查询 yum grouplist
    这是针对一个包的安装 yum groupinstall "Development Tools"
    这是一个组的安装

      4.卸载软件包

    yum remove 包名
    

      5.优化yum源

        (1)本地镜像yum源(光盘挂载到/mnt下)

    我们需要自己写一个后缀为repo的文件,格式如下
    [local]
    name=localios
    baseurl=file:///mnt
    gpgcheck=0
    写完后,清缓存
    yum clean all

        (2)局域网yum源(ftp)

    1.安装ftp软件
    yum install -y vsftpd
    
    2.启动ftp服务
    systemctl start vsftpd
    开启服务
    systemctl enable  vsftpd
    开机自启动
    
    3.创建站点目录,并将光盘软件拷贝其中
    [root@python3 ~]# cp -a /mnt/*  /var/ftp/pub/centos7
    
    4.生成ftp站点的yum源配置文件
    [ftp]
    name=centos7
    baseurl=ftp://10.0.0.100/pub/centos7
    gpgcheck=0
    
    
    5.安装软件测试
     yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++  openssl-devel zlib zlib-devel -y
    

      

     源码包应用

      1.解压

    压缩格式:
    .zip 
    unzip  xxx.zip
    .tar 
    .tar.gz 
    .tgz
    .tar.bz2 
    .tar.xz
    解压方式(需要下载依赖):
    tar xf  xxx.tar
    .iso
    mount -o loop xxx.iso  /test
    .cpio
    cpio -idcmv < xxx.cpio
    

      2.源码包安装

        (1)python3.6源码包安装

    ./configure       ------> 定制功能
    make
    make install
    View Code

          mysql源码包安装

    cmake
    make 
    make install
    View Code

        (2)redis源码包安装

    解压后,make即可
    

        (3)修改环境变量(可做可不做)

    vim /etc/profile
    添加以下一行:
    export PATH=/opt/redis-3.2.10/src:$PATH
    生效配置
    source /etc/profile

        (4)测试让python链接redis

    unzip redis-py-master.zip 
    cd redis-py-master
    python3 setup.py install
    对redis的单实例进行连接操作
    python3
    >>>import redis
    >>>r = redis.StrictRedis(host='localhost', port=6379)
    >>>r.set('name', 'oldguo')
    True
    >>>r.get('name')
    'oldguo'
    

      

    二进制包(mysql5.7.20)

      1.解压及制作软连接

    tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
    ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql
    

      2.编辑环境变量

    vim  /etc/profile
    添加以下一行:
    export PATH=/opt/mysql/bin:$PATH
    生效配置:
    source /etc/profile

      3.卸载自带mariadb

    yum remove mariadb-libs
    

      4.生成配置文件

    vim /etc/my.cnf
    [mysqld]
    basedir=/opt/mysql
    datadir=/opt/mysql/data
    socket=/tmp/mysql.sock
    user=mysql
    log_error=/var/log/mysql.log
    log_bin=/opt/mysql/data/mysql-bin
    server_id=100
    [mysql]
    socket=/tmp/mysql.sock
    

      5.初始化数据

    由于权限问题我们呢需要手动创建并且授权
    touch /var/log/mysql.log 
    chown -R mysql.mysql /var/log/mysql.log
    初始化数据命令
    mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql
    

      6.启动mysql

    cd /opt/mysql/support-files
    ./mysql.server start
    
    cp mysql.server /etc/init.d/mysqld
    重启mysql服务
    /etc/init.d/mysqld restart
    
    扩展:使用systemctl 管理mysql
    vim /etc/systemd/system/mysqld.service
    写入
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/opt/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000
    重启mysql服务
    systemctl restart mysqld
    查询服务是否启动成功
    netstat -tulnp |grep 3306
    View Code

      7.测试python3链接mysql

    创建mysql链接用户
    
    grant all on *.* to root@'10.0.0.%' identified by '123';
    create database bbs charset utf8;
    
    python代码测试:
    
    pip3 install --upgrade pip
    pip3 install pymysql
    
    vim testmysql.py
    #!/usr/bin/python3
    import pymysql
    db = pymysql.connect("10.0.0.100","root","123","bbs" )
    cursor.execute("SELECT VERSION()")
    data = cursor.fetchone()
    print ("Database version : %s " % data)
    db.close()
    
    python3  testmysql.py 
    

      

    LNMP架构环境部署

    简介:


    LNMPT =  Linux  Nginx  MySQL  PHP  Tomcat
    LNMPJ =  Linux  Nginx  MySQL  PHP  Jboss

      1.使用官方的Nginx yum源

    vim /etc/yum.repos.d/nginx.repo 
    写入
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=0
    enabled=1

    执行命令
    yum install nginx -y

      2.启动Nginx,并将Nginx加入开启自启

    systemctl start nginx
    systemctl enable nginx
    

      3.使用第三方扩展源安装php7.1

     rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
     rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    
    [root@nginx ~]# yum remove php-mysql-5.4 php php-fpm php-common
    [root@nginx ~]#  vim  /etc/yum.repos.d/php.repo
    [php]
    name = php Repository
    baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
    gpgcheck = 0
    
    [root@nginx ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
    3) 配置php-fpm用户与Nginx的运行用户保持一致
    
    [root@nginx ~]# sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf 
    [root@nginx ~]# sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf
    4) 启动php-fpm,并将其加入开机自启
    
    [root@nginx ~]# systemctl start php-fpm
    [root@nginx ~]# systemctl enable php-fpm
    5) 安装mysql数据库
    
    [root@nginx ~]# mysqladmin password '123'
    [root@nginx ~]# mysql -uroot -p123
    View Code

      4.LNMP架构环境部署

    django项目:
    
    
    依赖包
    [root@web01 ~]# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++  openssl-devel zlib zlib-devel -y
    
    1.安装python3
    [root@web01 ~]# wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
    [root@web01 ~]# tar xf Python-3.6.2.tgz
    [root@web01 ~]# cd Python-3.6.2/
    [root@web01 Python-3.6.2]# ./configure --prefix=/usr/local/
    [root@web01 Python-3.6.2]# make && make install
    [root@web01 Python-3.6.2]# ./configure && make && make install
    
    
    2.安装Django框架和uwsgi
    
    vim  re.txt
    asn1crypto==0.24.0
    beautifulsoup4==4.6.3
    bs4==0.0.1
    certifi==2018.4.16
    cffi==1.11.5
    chardet==3.0.4
    Click==7.0
    cryptography==2.3.1
    Django==1.11.9
    Flask==1.0.2
    Flask-Cors==3.0.6
    gevent==1.3.6
    greenlet==0.4.15
    idna==2.7
    ItsDangerous==1.1.0
    Jinja2==2.10
    lxml==4.2.6
    MarkupSafe==1.0
    numpy==1.15.3
    Pillow==5.3.0
    pycparser==2.18
    PyMySQL==0.9.2
    pytz==2018.7
    requests==2.19.1
    selenium==3.141.0
    six==1.11.0
    urllib3==1.23
    virtualenv==16.1.0
    Werkzeug==0.14.1
    wordcloud==1.5.0
    
    
    pip3 install -i https://pypi.doubanio.com/simple/ -r re.txt
    pip3 install -i https://pypi.doubanio.com/simple/ uwsgi
    
    
    
    
    3.测试uwsgi是否正常,新建 test.py文件,内容如下:
    [root@web01 ~]# vim test.py
    def application(env, start_response):
        start_response('200 OK', [('Content-Type','text/html')])
        return [b"Hello Django"]
    
        
    #然后在终端运行: 
    uwsgi --http :8001 --wsgi-file test.py &
    
    
    4.测试django是否正常,运行:
    [root@web01 ~]# django-admin.py startproject demosite
    [root@web01 ~]# cd demosite
    [root@web01 demosite]# python3 manage.py runserver 0.0.0.0:8002
    在浏览器内输入:http://127.0.0.1:8002,检查django是否运行正常。
    
    
    5.配置uwsgi
        [root@web01 demosite]# vim /root/demosite/uwsgi.ini
    写入
    [uwsgi]
    socket = 127.0.0.1:9999
    master = true
    workers = 2
    max-requests = 1000
    buffer-size = 30000
    pidfile = /run/uwsgi.pid
    daemonize = /var/log/uwsgi.log
    
    uwsgi --ini /root/demosite/uwsgi.ini &
    
    
    6.配置Nginx
    [root@web01 demosite]# vim /etc/nginx/conf.d/py.conf
    写入
    server {
        listen 80;
        server_name 10.0.0.100;
        client_max_body_size 100M;
    
        location / {
            index index.html;
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:9999;
            uwsgi_param UWSGI_SCRIPT demosite.wsgi;
            uwsgi_param UWSGI_CHDIR /root/demosite;
        }
    }
    
    重启nginx
    View Code
  • 相关阅读:
    淘宝网与九部委连合启动2011收集全平易近维权
    淘宝不雅光宣布揭晓推出机票价值指数
    文思信息2010年第四财季净利增26.2%
    创业邦“立异中国2011”活动正式启动
    快讯:出路无忧2010第四季度净利润6690万元
    柳传志美国高校演讲:中国企业的国际化之路
    Android 开发笔记八 截屏操作
    Android 开发笔记三 BroadcastReceiver 广播接收者
    Android 开发笔记 一
    Android 开发笔记六 定位
  • 原文地址:https://www.cnblogs.com/yaoxiaofeng/p/10222529.html
Copyright © 2020-2023  润新知