一、nginx+uwsgi介绍

pip list  # 查看安装过的模块
rpm -q nginx  # 查看是否安装某款服务

pip install django == 1.11.11  # 安装django并指定版本
yum install -y nginx  # 安装nginx

"""单独在一台被控机上测试"""
mkdir /data
cd /data/

# 命令行创建django项目
django-admin startproject mysite
cd mysite/
python manage.py startapp app01

# 修改配置文件
ALLOWED_HOSTS = ["*"]
DEBUG = False
注册app01

# 启动访问
python manage.py runserver 0.0.0.0:8080  # 需要关闭防火墙 iptables -F

# django默认使用的wsgiref并发量太小 换成uwsgi
pip install uwsgi  # 可保持django运行 重新开设xshell窗口安装即可
# 报错 需要下载python-devel(开发必备的包) 秉持原则:缺什么装什么不用的别装  然后重新安装即可
yum install -y python-devel


# 启动uwsgi 需要切换到项目目录下
uwsgi --http :8090 --module mysite.wsgi
# 将uwsgi服务写入配置文件中
vi /etc/uwsgi.ini
"""
[uwsgi]
http = 0.0.0.0:8000
# the local unix socket file than commnuincate to Nginx
# socket = /data/mysite/mysit.socket
# the base directory (full path)
chdir = /data/mysite
# Django's wsgi file
wsgi-file = mysite/wsgi.py
# maximum number of worker processes
processes = 4
#thread numbers startched in each worker process
threads = 2
# clear environment on exit
vacuum          = true  # uwsgi关闭之后 将临时生成的文件删除掉
daemonize = /data/mysite/uwsgi.log  # 后台启动 守护进程
py-autoreload=1  # py文件改动 自动重新加载
"""


# 配置文件启动
uwsgi --ini /etc/uwsgi.ini
# nginx做代理  修改配置文件(可以直接修改nginx自带的 也可自定义配置)
vi /etc/nginx/nginx.conf
"""
location / {
    include /etc/nginx/uwsgi_params;
    uwsgi_pass 127.0.0.1:8000;
}
"""
# 重启服务
systemctl restart nginx
# 访问10.0.0.101:80端口报错  针对nginx访问报错  有三种配置方式


# 第一种
# uwsgi的配置   vi /etc/uwsgi.ini
http = 0.0.0.0:8000
# nginx的配置   vi /etc/nginx/nginx.conf
location / {
    proxy_pass http://127.0.0.1:8000;
}
# 重启服务
systemctl restart nginx
# 仍然无法访问  查看系统日志  访问成功日志(access.log)和报错日志(error.log)
tail -f /var/log/nginx/error.log  # 报权限错误
setenforce 0  # selinux安全控件(非常牛逼的认证方式 但实际工作不用)
vi /etc/selinux/config
"""
修改配置
SELINUX=disabled
"""
pkill -9 uwsgi  # 杀掉uwsgi的进程

# 第二种
# uwsgi的配置  vi /etc/uwsgi.ini
socket = 0.0.0.0:8000
# nginx的配置  vi /etc/nginx/nginx.conf
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
# 重启服务
systemctl restart nginx

# 第三种
# uwsgi的配置  vi /etc/uwsgi.ini
socket = /data/mysite/mysite.socket
# nginx的配置  vi /etc/nginx/nginx.conf
include /etc/nginx/uwsgi_params;
uwsgi_pass unix:/data/mysite/mysite.socket;
# 重启服务
systemctl restart nginx
02-01 04:21