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

目录

  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)