linux运维

Centos安装Nginx+Musql+Python环境

2020-03-24  本文已影响0人  忘了呼吸的那只猫

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

查看Linux版本

cat /etc/redhat-release

查看系统配置

cat /proc/cupinfo

查看内存大小

  free -m

查看磁盘大小

   df -h

安装python3.7

[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就能共存了。

yum install gdbm-devel expat-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make 

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

#运行这个命令添加epel扩展源
yum -y install epel-release
 
#安装pip
yum install python-pip
pip install wget
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
#解压
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目录

#将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
 
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
 
#测试是否安装成功了
python -V
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数据库

  yum -y install mariadb-server
systemctl start mariadb.service
systemctl enable mariadb.service
mysqladmin -uroot password "密码"
mysql -uroot -p"密码"
\s
vi /etc/my.cnf

改为:

character-set-server=utf8
systemctl restart mariadb.service

到此数据库安装完成


安装Nginx

yum -y install gcc gcc-c++ openssl-devel pcre-devel httpd-tools zlib-devel
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
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命令强制杀掉进程。

netstat -anptu | grep nginx
  或者
ps aux|grep 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就安装完毕了,启动、停止、重启操作也都完成了,当然,你也可以添加为系统服务,我这里就不在演示了。

上一篇下一篇

猜你喜欢

热点阅读