nginx與supervisor不多說,參考上篇文章:https://blog.csdn.net/a961634066/article/details/105265007
一、安裝uwsgi
1.命令安裝
pip linstall uwsgi
二、文件配置
1.flask-uwsgi文件配置
[uwsgi]
# 必須與nginx配置的一樣
socket = 127.0.0.1:5000
uid=root
pid=root
# 啓動文件平級目錄
chdir = /home/total_project/film
# python 啓動程序文件
wsgi-file = manager.py
# python 程序內用以啓動的 application 變量名
callable = app
# 處理器數
processes = 4
# 線程數
threads = 2
#寫入日誌
#daemonize =/uwsgi/uwsgi.log
pidfile = /opt/uwsgi.pid
# 若使用虛擬環境,配置python虛擬環境地質
home = /opt/python_virtualenv/flask_env2/
配置完成後,可用uwsgi --ini name.ini,運行根據輸出檢查是否有報錯,儘量少配先運行起來
2.django-uwsgi文件配置
[uwsgi]
#監聽的地址 必須和nginx中的一致
socket = 127.0.0.1:8000
#wsgi文件,在你的項目配置目錄下可以找到 注意:最後輸入絕對地址
wsgi-file = /home/django/wsgi.py
# 你的項目的根目錄 絕對地址
chdir = /home/django
# 你項目使用的虛擬環境的根目錄 絕對地址
home = /home/python/django
#你的日誌目錄,注意的是,你的django控制檯輸出的日誌都會在這裏輸出,uwsgi的相關日誌也在這裏
daemonize = /var/test.log
####下面的配置可以有 也可以沒有,看個人需求,不建議配置
# 主進程
master = true
# 多站模式
vhost = true
# 多站模式時不設置入口模塊和文件
no-site = true
# 子進程數
workers = 2
# 退出、重啓時清理文件
vacuum = true
3.nginx文件配置
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000;
index index.html index.htm;
client_max_body_size 8192M;
}
4.supervisor文件配置
[program:test-uwsgi]
# 項目目錄
directory=/home/total_project/film/
# 啓動名稱
command=/opt/python_virtualenv/django_env1/bin/uwsgi --ini /opt/uwsgi/test2.ini
stdout_logfile=/var/test_uwsgi.log
stderr_logfile=/var/test_uwsgi.err
user=root
numprocs=1
process_name=%(program_name)s
autostart=true
autorestart=true
startsecs=5
stopwaitsecs=20
stopsignal=TERM
stopasgroup=true
killasgroup=true
exitcodes=1,2
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=5
stderr_logfile_maxbytes=10MB
stderr_logfile_backups=5
基本完事,可以進行測試
####https訪問的一些補充,用OpenSSL 生成https證書#####
(1)執行openssl version
檢查是否安裝openssl
(2) mkdir /etc/pki/nginx
創建證書目錄
(3) openssl genrsa -des3 -out server.key 1024
創建服務器私鑰,長度1024位, des3加密算法的. (之後輸入一個口令(兩遍),需要記住),如果是CentOS Linux release 8.0.1905版本,需要式2048位
(4)openssl req -new -key server.key -out server.csr
基本信息,隨意輸
(5)cp server.key server.key.org
openssl rsa -in server.key.org -out server.key #需要輸入密碼
在加載SSL支持的Nginx並使用上述私鑰時除去必須的口令
(6)openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
365是過期天數,可以設置
(7)nginx中
ssl_certificate /etc/pki/nginxserver.crt;
ssl_certificate_key /etc/pki/nginxserver.key;
5.一些重啓命令
檢查nginx文件是否配置正確
nginx -t
重啓nginx
systemctl restart nginx
重載supervisor
supervisorctl -c supervisor.conf -u root -p 123456 reload
supervisorctl -c supervisor.conf -u root -p 123456 status
根據配置過程記錄,如果問題,請指出