系统版本:CentOS-7.0-1406-x86_64-Minimal
0、安装完成后检查一下经常使用的工具是否有安装,如:wget、ifconfig、unzip、tree等等。
配置yum源,大家说用163.com的,但 yum info nginx
依然找不到,后来用了阿里云的就可以了。
1、安装wget
# yum install wget
2、安装ifconfig
# yum install net-tools
3、通过yum安装nginx,参考:CentOS 7 YUM 安装 Nginx
关闭防火墙或添加80端口,这时就可以网页了。
4、安装pip
# wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
# python get-pip.py
5、安装uwsgi和uwsgi-plugin-python插件
# yum install uwsgi uwsgi-plugin-python
6、安装django
pip install Django==1.9.1
7、测试uwsgi
# uwsgi -s 127.0.0.1:9090 --plugin python --wsgi-file /web/index.py
8、配置nginx.conf,以下为server配置节
server {
listen 80;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
}
9、以ini配置文件方式启动uwsgi,uwsgi myweb_uwsgi.ini
,ini文件内容:
[uwsgi]
chdir = /usr/share/nginx/html
module = myweb.wsgi
plugin = python
socket = 127.0.0.1:9090
daemonize = /usr/share/nginx/html/uwsgi.log
chmod-socket = 666 # 将socket文件的权限设为666
下午搞了好久都无法访问,后来通过查看nginx日志,才知道是权限问题,由于没有加chmod-socket,nginx无权限读取socket文件,这时通过关闭SELINUX 也可以解决,具体详细情况待以后慢慢再研究吧。(后来发现加了chmod-socket没用,一定要关闭SELINUX才可以)
10、使用Supervisor配置开机自动启动uwsgi服务:
Supervisor是由python语言编写、基于Linux操作系统的一款服务器管理工具,用以监控服务器的运行,发现问题能立即自动预警及自动重启等功能。通过yum安装后各配置文件和目录都自动创建好了(通过pip安装的好像没有自动生成,也不能利用systemctl启动服务),只需要在 /etc/supervisord.d/
创建启动uwsgi的ini配置文件即可:
[program:myweb_uwsgi]
command=uwsgi /var/html/pcvc.net/myweb_uwsgi.ini
stopsignal=QUIT
autostart=true
autorestart=true
stdout_logfile=/var/html/pcvc.net/supervisor.log
redirect_stderr=true
Supervisor参考:
Supervisor官方配置说明
使用Supervisor简化进程管理工作
Supervisor的安装与使用入门
按需讲解之Supervisor
到此,在 CentOS 7 基于 nginx uwsg django 搭建的 web 服务器基本可以访问了。