美文网首页
为Linux设置rpm,ypm,软件包管理,LNMP

为Linux设置rpm,ypm,软件包管理,LNMP

作者: aq_wzj | 来源:发表于2019-01-05 15:36 被阅读0次

    目录

    1. rpm包管理
    2. rpm包的查询
    3. yum 使用
      3.1 使用aliyun yum站点源
      3.2 使用yum安装软件
      3.3 软件包查询及组安装,卸载
      3.4 优化yum源
    4. 源码包应用
    5. 二进制包(mysql5.7.20为例)
    6. 经典互联网架构项目(LNMP)

    1. rpm包管理

    光盘挂载 mount /dev/cdrom /mnt 将光盘挂载到mnt下
    
    安装rpm包.
        rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
        rpm -Uvh vsftpd-3.0.2-22.el7.x86_64.rpm
        
    卸载rpm
        rpm -e vsftpd-3.0.2-22.el7.x86_64
    

    2. rpm包的查询

    rpm -q vsftpd 
    rpm -qa |grep vsf
    which vim
    rpm -qf /usr/bin/vim
    
    rpm处理依赖包的时候很麻烦, 所以还是推荐用yum
    

    3. yum 使用

    3.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
    

    3.2 使用yum安装软件

    yum install -y openssl openssl-devel  这里安装了两个 openssl和openssl-devel
    

    3.3 软件包查询及组安装,卸载

    yum list |grep vsftpd  查看所有软件包,然后过滤出vsftpd
    yum grouplist   查看组
    yum groupinstall "Development Tools"  查看一组软件包
    yum remove  vsftpd 卸载软件包
    

    3.4 优化yum源

    1. 本地镜像yum源(光盘挂载到/mnt下)
        vim /etc/yum.repos.d/local.repo
        写入:
            [local]
            name=localios
            baseurl=file:///mnt
            gpgcheck=0
         :wq保存退出
         yum clean all  清除缓存
        
            
    2. 局域网yum源(ftp)
    (1).安装ftp软件
     yum install -y vsftpd 安装vsftpd软件包
    (2). 启动ftp服务
     systemctl start vsftpd
     systemctl enable  vsftpd  设为开机自动启动
    (3).创建站点目录,并将光盘软件拷贝其中
      cp -a /mnt/*  /var/ftp/pub/centos7
    (4).生成ftp站点的yum源配置文件
        vim /etc/yum.repos.d/ftp.repo
        写入:
            [ftp]
            name=centos7
            baseurl=ftp://10.0.0.100/pub/centos7
            gpgcheck=0
         :wq保存退出
    (5): 安装软件测试
    yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++  openssl-devel zlib zlib-devel -y
    
    

    4. 源码包应用

    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源码包安装 (大部分源码包都是这种方式)
       cd到其目录下
          ./configure       ------> 后面加参数定制功能, 这里不用
          依赖包: yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++  openssl-devel zlib zlib-devel -y
          make && make install  编译
          
          
      2. mysql 源码包
       cd到其目录下
          cmake
       make 
       make install
          修改环境变量
           vim /etc/profile
           添加一下一行
           export PATH=/opt/mysql/bin:$PATH
       生效配置
       source /etc/profile
      
      3. redis 源码包安装  直接make
       cd到其目录下
       make
       修改环境变量
           vim /etc/profile
           添加一下一行
           export PATH=/opt/redis-3.2.10/src:$PATH
       生效配置
       source /etc/profile
       
      4. 让python链接redis
       cd到Redis目录
       python3 setup.py install
       
       对redis的单实例进行连接操作
              python3
              >>>import redis
              >>>r = redis.StrictRedis(host='localhost', port=6379)
              >>>r.set('name', 'oldguo')
              True
              >>>r.get('name')
              'oldguo'
      

    5. 二进制包(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
    
    1. 编辑环境变量

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

      source /etc/profile
      
    3. 卸载自带mariadb

      yum remove mariadb-libs
      
    4. 生成配置文件(/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. 创建用户和数据目录,并授权

      useradd mysql 
      mkdir  /opt/mysql/data 
      chown -R mysql.mysql /opt/mysql
      
    6. 初始化

    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  初始化
    
    1. 启动mysql

      启动方式1:
       cd /opt/mysql/support-files 
       ./mysql.server start 启动
      方式2: 
       cp mysql.server /etc/init.d/mysqld 复制一份出去
       /etc/init.d/mysqld restart 以后启动输入这条命令就ok了
       
      方式3: 使用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
      systemctl restart mysqld   启动
      netstat -tulnp |grep 3306  查看服务
      
    2. 测试python3链接mysql

      创建mysql链接用户:
       grant all on *.* to root@'10.0.0.%' identified by '123';
      建bbs库:
       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   
      

    6. 经典互联网架构项目(LNMP)

    LNMPT = Linux Nginx MySQL PHP
    LNMPJ = Linux Nginx MySQL PHP

    LNMP架构环境部署
    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
      
      
    2. 安装与启动Nginx

      安装Nginx
       yum install nginx -y
      启动Nginx,并将Nginx加入开机自启
       systemctl start nginx
       systemctl enable nginx
      
    3. 使用第三方扩展源安装php7.1

      
      
    4. 部署Django项目

      安装uwsgi:
      pip3 install -i https://pypi.doubanio.com/simple/ uwsgi
      
      测试uwsgi是否正常,新建test.py文件,内容如下:
      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 &
      
    5. 测试django是否正常,运行:

      django-admin.py startproject demosite
      cd demosite
      python3 manage.py runserver 0.0.0.0:8002
      在浏览器内输入:http://127.0.0.1:8002,检查django是否运行正常。
      
      
    6. 配置uwsgi

      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 &
       
      
    7. 配置Nginx

      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  systemctl restart nginx
      

    相关文章

      网友评论

          本文标题:为Linux设置rpm,ypm,软件包管理,LNMP

          本文链接:https://www.haomeiwen.com/subject/tdarrqtx.html