作業環境: Centos 7
初始安裝
yum install gcc #Linux上的編譯器原始碼
yum -y install wget #Linux 下載工具
主要安裝及設定
- 安裝 python3.6 ( linux 預設只安裝python2.7 )
- wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
- mkdir -p /usr/local/python3 # [-p] 遞迴建立好目錄
- tar -zxvf Python-3.6.1.tgz #解壓縮
- cd Python-3.6.1
- ./configure --prefix=/usr/local/python3 #安裝python3
- make #簡化編譯過程
- make install
- ln -s /usr/local/python3/bin/python3 /usr/bin/python3 #建立連結,可直接執行 [python3]
- ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 #建立連結,可直接執行 [pip3]
check
[...]# python3 -V #顯示python版本
[...]# pip3 -V #顯示pip 版本
---------------------------------------------------------------------------------
- 安裝 virtualenv:python 執行在各專案的虛擬環境
- pip install virtualenv
- cd /var/local/<target path>
- python3 -m virtualenv <project name>
check
[...]# cd /var/local/<target path>/ <project name>
[...]# source bin/activate #run env
(env)[...]# python -V #顯示python版本,和建立虛擬環境py的版本一致
(env)[...]# pip -V #顯示pip 版本
(env)[...]# deactivate #exit env
- 安裝 Gunicorn:Flask 的 WSGI
- (env)[...]# pip install gunicorn
- (env)[...]# gunicorn <執行.py的檔名>:app -b 0.0.0.0:<port> #在本機執行app
Gunicorn詳細設定
http://docs.gunicorn.org/en/stable/deploy.html
Gunicorn Work Type Setting
https://medium.com/@genchilu/%E6%B7%BA%E8%AB%87-gunicorn-%E5%90%84%E5%80%8B-worker-type-%E9%81%A9%E5%90%88%E7%9A%84%E6%83%85%E5%A2%83-490b20707f28
- 如果work-type使用gevent,安裝 Gunicorn [ gevent ]:Web多 io
- (env)[...]# pip install gevent
---------------------------------------------------------------------------------
- 安裝 Supervisor:進程監管工具
- yum install python-setuptools
- easy_install supervisor
- 配置Supervisor
- echo_supervisord_conf #顯示supervisor配置
- mkdir -p /etc/supervisor
- echo_supervisord_conf > /etc/supervisor/supervisord.conf #配置重新導向
- mkdir -p /etc/supervisor/config.d
- vim /etc/supervisor/supervisord.conf #編輯如下
........................
[include] #Supervisor設定檔包含config.d的所有conf檔files = /etc/supervisor/config.d/*.conf
.......................
[inet_http_server] #連 ip:port 可以監控所有網站
port=0.0.0.0:9001
.......................
啟動 supervisor
supervisord -c /etc/supervisor/supervisord.conf
關閉 supervisor
supervisorctl shutdown
重啟 supervisor 所有服務
supervisorctl reload
新增/修改/刪除 配置更新
supervisorctl update
顯示 supervisor 所有服務狀態
supervisorctl status
Supervisor 開機自動啟動設定
command-centos-supervisor.html
---------------------------------------------------------------------------------
Nginx 完整文章 <-- click
include /etc/nginx/conf.d/*.conf; #Nginx設定檔包含config.d的所有conf檔
.......................
.......................
listen 80;
server_name unapy.test.com; #對外的Url
location / {
proxy_pass http://127.0.0.1:5000; #對應內網的Url
}
}
啟動 supervisor
service nginx start
重啟 supervisor 所有服務
service nginx restart
相關參考
Deploy flask app with nginx using gunicorn and supervisor
Linux安装python3.6
CentOS7——supervisor安装配置实战
gunicorn 部署 flask 应用
Django的部署:Nginx+Gunicorn+virtualenv+supervisor+PostgreSQL
CentOS 7 yum 安装 Nginx
- Supervisor 設定專案的 conf
- vim /etc/supervisor/config.d/<proj>.conf
[program:testflaskpy]
directory=/usr/local/<target path>/<project name>
command=/usr/local/<target path>/<project name>/bin/gunicorn <執行.py的檔名>:app -b 0.0.0.0:<port> #在虛擬環境下執行
autostart=true #自動開啟
autorestart=true #自動重啟
priority=99 #Supervisor優先順序
startsecs=10 #啟動成功幾秒判斷為啟動成功
stdout_logfile=<runflask.log> #log檔路徑
redirect_stderr=true #error 輸出標準資訊
- Supervisor Command
啟動 supervisor
supervisord -c /etc/supervisor/supervisord.conf
關閉 supervisor
supervisorctl shutdown
重啟 supervisor 所有服務
supervisorctl reload
新增/修改/刪除 配置更新
supervisorctl update
顯示 supervisor 所有服務狀態
supervisorctl status
Supervisor 開機自動啟動設定
command-centos-supervisor.html
---------------------------------------------------------------------------------
Nginx 完整文章 <-- click
- 安裝 nginx
- 添加CentOS 7 Nginx yum资源库
- rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- 安裝
- yum install nginx
- 配置nginx
- mkdir -p /etc/nginx/config.d
- vim /etc/nginx/nginx.conf #編輯如下
........................
http { include /etc/nginx/conf.d/*.conf; #Nginx設定檔包含config.d的所有conf檔
.......................
.......................
- Nginx 設定專案的 conf
- vim /etc/nginx/config.d/<proj>.conf
listen 80;
server_name unapy.test.com; #對外的Url
location / {
proxy_pass http://127.0.0.1:5000; #對應內網的Url
}
}
- Nginx Command
啟動 supervisor
service nginx start
重啟 supervisor 所有服務
service nginx restart
相關參考
Deploy flask app with nginx using gunicorn and supervisor
Linux安装python3.6
CentOS7——supervisor安装配置实战
gunicorn 部署 flask 应用
Django的部署:Nginx+Gunicorn+virtualenv+supervisor+PostgreSQL
CentOS 7 yum 安装 Nginx
留言
張貼留言