美文网首页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