一、前言
由于近来打算使用 Python 做 ITAEM 官网后台,简单轻量
nginx + uwsgi3 + python3 + django2
方案
默认云服务器安装好如上内容,具体可以参考这篇文章:
centos7下部署Django(nginx+uwsgi+python3+django)
其实后面基本使用 docker 来进行服务器部署,简单快速:
Python3.6 使用 Docker 快速部署 Django2.0 项目到阿里云服务器上
二、配置
2.1.Nginx 配置
server {
#暴露给外部访问的端口
listen 8001;
server_name localhost;
charset utf-8;
location / {
include uwsgi_params;
#外部访问8001就转发到内部8002
uwsgi_pass 127.0.0.1:8002;
}
}
2.2.uwsgi 配置
项目在 centos中的路径:
<uwsgi>
<!-- 内部端口,自定义 -->
<socket>127.0.0.1:8002</socket>
<!-- 项目路径 -->
<chdir>/root/temp/myproject</chdir>
<module>myproject.wsgi</module>
<!-- 进程数 -->
<processes>4</processes>
<!-- 日志文件 -->
<daemonize>uwsgi.log</daemonize>
</uwsgi>
2.3.setings.py
120.79.197.130 为自己云服务器的地址,使用域名的需要再加上域名
ALLOWED_HOSTS = ['localhost', '127.0.0.1', '120.79.197.130']
效果
前后端分离,访问接口
三、命令
3.1.Nginx
默认 Nginx 目录:cd /usr/local/nginx/sbin/
开启:./nginx
停止:./nginx -s stop
停止:./nginx -s quit
(进程如果还在服务中,那么就不会关闭该进程,直到进程完成服务为止)
重新加载:./nginx -s reload
或者直接输入这样的命令:
/usr/local/nginx/sbin/./nginx -t
/usr/local/nginx/sbin/./nginx
/usr/local/nginx/sbin/./nginx -s stop
/usr/local/nginx/sbin/./nginx -s reload
3.2.其他
查看端口占用
netstat -tunlp
关闭 uwsgi3 开启的服务
killall -9 uwsgi3
四、其他
4.1.注意
开放防火墙端口,开放云服务安全组