欢迎使用CSDN-markdown编辑器

来源:互联网 发布:淘宝的苏宁易购靠谱吗 编辑:程序博客网 时间:2024/05/21 07:03

Python Flask Nginx uwsgi部署方法

一 情况1:下载nginx uwsgi 包手动安装的

如果有一些特殊原因,例如服务器没有联因特网,无法使用包管理工具安装Nginx和uwsgi,需要手动安装。首先将tar包及项目文件用winscp上传至服务器。(项目目录 /www/Flask-Dashboard)

1 安装PCRE

./configure --prefix=/usr/local/pcremakemake install

2 安装Nginx

./configure --prefix=/usr/local/nginx --with-pcre=/usr/lcoal/pcremakemake install

3 安装uwsgi

 python setup.py install

4 配置Nginx
nginx 默认为安装目录下的conf/nginx.conf
将其中的server段替换成如下配置

server {    listen 80;    server_name "";        access_log /www/log/access-dashboard.log;        error_log /www/log/error-dashboard.log;    location /static {        alias /www/Flask-Dashboard/app/static;    }    location / {        include uwsgi_params;        uwsgi_pass 127.0.0.1:9001;        uwsgi_param UWSGI_PYHOME /www/Flask-Dashboard/venv;        uwsgi_param UWSGI_CHDIR /www/Flask-Dashboard;        uwsgi_param UWSGI_MODULE app;        uwsgi_param UWSGI_CALLABLE app;    }}

5 配置uwsgi

vim /www/Flask-Dashboard/deploy/uwsgi.ini
[uwsgi]plugins=pythonvhost=truesocket=127.0.0.1:9001

6 启动uwsgi

uwsgi --ini /www/Flask-Dashboard/deploy/uwsgi.ini

7 启动Nginx

 nginx -s reopen

8 开机自启

vim /etc/init.d/start-webapp.sh
nginxuwsgi --ini /www/Flask-Dashboard/deploy/uwsgi.ini

二 情况2:使用包管理工具安装的

区别:增加了www-data用户和群组 nginx uwsgi安装为一个服务

1. 变更目录所有者和权限

chown -R www-data:www-data /www/Flask-Dashboardchmod -R 775 /www/Flask-Dashboard

2. 编辑Nginx配置

vim /etc/nginx/site-available/dashboard
server {    listen 80;    server_name "";        access_log /www/log/access-dashboard.log;        error_log /www/log/error-dashboard.log;    location /static {        alias /www/Flask-Dashboard/app/static;    }    location / {        include uwsgi_params;        uwsgi_pass 127.0.0.1:9001;        uwsgi_param UWSGI_PYHOME /www/Flask-Dashboard/venv;        uwsgi_param UWSGI_CHDIR /www/Flask-Dashboard;        uwsgi_param UWSGI_MODULE app;        uwsgi_param UWSGI_CALLABLE app;    }}

3. Nginx配置建立软链接

ln -s /etc/nginx/sites-available/dashboard /etc/nginx/sites-enabled/dashboard

4. 配置uwsgi

vim /etc/uwsgi/apps-available/dashboard.ini
[uwsgi]plugins=pythonvhost=truesocket=127.0.0.1:9001processes = 4threads = 2

5. 建立软连接到enabled目录

ln -s /etc/uwsgi/apps-available/dashboard.ini /etc/uwsgi/apps-enabled/dashboard.ini

6. 编辑Nginx配置

service nginx restartservice uwsgi restart
0 0
原创粉丝点击