美文网首页linux运维
Centos安装Nginx+Musql+Python环境

Centos安装Nginx+Musql+Python环境

作者: 忘了呼吸的那只猫 | 来源:发表于2020-03-24 22:38 被阅读0次

    虚拟机安装Centos系统这里就不多说了

    查看Linux版本

    cat /etc/redhat-release
    

    查看系统配置

    cat /proc/cupinfo
    

    查看内存大小

      free -m
    

    查看磁盘大小

       df -h
    

    安装python3.7

    • 1.首先,你要知道系统现在的python的位置在哪儿:
    [root@root ~]# whereis python
    python: /usr/bin/python2.7 /usr/bin/python /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
    

    可以知道我们的python/usr/bin目录中

    [root@root ~]# cd /usr/bin/
    [root@root bin]# ll python*
    lrwxrwxrwx. 1 root root    7 2月   7 09:30 python -> python2
    lrwxrwxrwx. 1 root root    9 2月   7 09:30 python2 -> python2.7
    -rwxr-xr-x. 1 root root 7136 8月   4 2017 python2.7
    

    可以看到,python指向的是python2python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。

    • 2.因为我们要安装python3,所以要先安装相关包,用于下载编译python3:
    yum install gdbm-devel expat-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make 
    

    运行了以上命令以后,就安装了编译python3所用到的相关依赖

    • 3.默认的,centos7也没有安装pip,不知道是不是因为我安装软件的时候选择的是最小安装的模式。
    #运行这个命令添加epel扩展源
    yum -y install epel-release
     
    #安装pip
    yum install python-pip
    
    • 4.用pip装wget
    pip install wget
    
    • 5.用wget下载python3的源码包
    wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
    
    • 6.编译python3源码包
    #解压
    xz -d Python-3.6.4.tar.xz
    tar -xf Python-3.6.4.tar
     
    #进入解压后的目录,依次执行下面命令进行手动编译
    cd Python-3.6.4
    ./configure prefix=/usr/local/python3
    make && make install
     
    # 如果出现can't decompress data; zlib not available这个错误,则需要安装相关库
    #安装依赖zlib、zlib-devel
    yum install zlib zlib
    yum install zlib zlib-devel
    #安装时报错   ModuleNotFoundError: No module named '_ctypes'的解决办法
    #然后从config开始重新安装
    yum install libffi-devel 
    #pip3 install时报错  “pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.”
    先安装 openssl-dev ,然后重新编译安装,只是在编译的过程中加入 
    --enable-optimizations
    
    

    如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录

    • 7.添加软链接
    #将原来的链接备份
    mv /usr/bin/python /usr/bin/python.bak
     
    #添加python3的软链接
    ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
     
    #测试是否安装成功了
    python -V
    
    • 8.更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用
    cd /usr/bin/
    ls yum*
    
    将这些文件中的#! /usr/bin/python修改为#! /usr/bin/python2
    
    vi /usr/libexec/urlgrabber-ext-down
    把#! /usr/bin/python 修改为#! /usr/bin/python2
    

    启动python2:

    启动python3:

    到此python3安装完成


    安装mysql数据库

    • 这里直接安装mariadb ,这是mysql的一个分支,效果一样
      yum -y install mariadb-server
    
    • 启动mariadb
    systemctl start mariadb.service
    
    • 设置开机启动
    systemctl enable mariadb.service
    
    • 修改mysql root 密码
    mysqladmin -uroot password "密码"
    
    • 进入mariadb
    mysql -uroot -p"密码"
    
    • 查看数据库信息
    \s
    
    • 字符集不对,将字符集改为utf8
    vi /etc/my.cnf
    

    改为:

    character-set-server=utf8
    
    • 重启mariadb服务器
    systemctl restart mariadb.service
    

    到此数据库安装完成


    安装Nginx

    • 安装所需环境
    yum -y install gcc gcc-c++ openssl-devel pcre-devel httpd-tools zlib-devel
    
    • 下载Nginx
    wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
    

    或者官网直接下载:https://nginx.org/en/download.html

    • 解压

    依然是直接命令:

    tar -zxvf nginx-1.12.0.tar.gz
    cd nginx-1.12.0
    
    • 配置

    其实在nginx-1.12.0 版本中你就不需要去配置相关东西,默认就可以了。当然,如果你要自己配置目录也是可以的。

    • 使用默认配置
    ./configure --prefix=/usr/local/nginx
    
    • 编译安装
    make && make install
    
    • 查找安装路径:
    whereis nginx
    
    • 启动、停止nginx
    cd /usr/local/nginx/sbin/
    ./nginx 
    ./nginx -s stop
    ./nginx -s quit
    ./nginx -s reload
    

    启动时报80端口被占用:
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

    解决办法:安装net-tool 包:
    yum install net-tools
    

    ./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
    ./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

    • 查询nginx进程:
    netstat -anptu | grep nginx
      或者
    ps aux|grep nginx
    
    • 重启 nginx

    1.先停止再启动(推荐):
    nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:

    ./nginx -s quit
    ./nginx
    

    2.重新加载配置文件:
    nginx的配置文件 nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止 nginx再启动 nginx 即可将配置信息在 nginx中生效,如下:

    ./nginx -s reload
    

    启动成功后,在浏览器可以看到这样的页面:


    如果在虚拟机中的Centos启动了Nginx后,在本机的浏览器无法打开虚拟机对应IP的页面需要在Centos中设置防火墙:
    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
    
    • 开机自启动

    即在rc.local增加启动代码就可以了。

    vi /etc/rc.local
    

    增加一行 /usr/local/nginx/sbin/nginx
    设置执行权限:

    chmod 755 rc.local
    

    到这里,nginx就安装完毕了,启动、停止、重启操作也都完成了,当然,你也可以添加为系统服务,我这里就不在演示了。

    相关文章

      网友评论

        本文标题:Centos安装Nginx+Musql+Python环境

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