利用宝塔+python+搭建falsk项目_详
首先安装python3
由于CoentOS 默认是python2,项目依赖的是python3,安装教程: https://my.oschina.net/u/3978509/blog/2979030
安装python3后安装宝塔面板
Centos安装脚本 :
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
等待安装,安装完成后登录面板(如不能登录请查看端口是否放行:8888)
软件管理中安装Nginx
在宝塔界面添加网站
创建项目虚拟环境(在创建的网站目录)
由于安装python3是已经安装了virtualenv,使用命令操作
$ cd /www/wwwroot/你的项目文件夹 # 文件夹为创建的名字根目录
$ python3 -m venv venv
# 进入虚拟环境
$ source venv/bin/activate
# 安装uWSGI和requirements
$ pip install uwsgi
$ pip install -r requirements.txt
# 退出虚拟环境
$ deactivate
配置config.ini
放到网站根目录中
[uwsgi]
socket = 127.0.0.1:5000 # 项目内部端口号(必须与nginx相同)
chdir = /www/wwwroot/ss.specimen.vip
# 指向网站目录(根)
wsgi-file = manufacture.py # 项目启动文件名
callable = cms_app # 项目中以启动的变量名(如:app/application ),根据你的实际情况填写
processes = 2 # 处理器数,根据你的实际情况填写
threads = 4 # 线程数
stats = 127.0.0.1:9191 #状态检测地址,注意服务器提供商和宝塔的端口放行策略
配置Nginx
在宝塔面板中–>管理网站–>设置–>配置文件 替换为⬇:
server {
listen 80; #若有多个web应用,都是80端口监听
server_name ss.specimen.vip; #你的网址地址
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000; # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理
uwsgi_param UWSGI_PYHOME /www/wwwroot/ss.specimen.vip/venv; # 指向虚拟环境目录
uwsgi_param UWSGI_CHDIR /www/wwwroot/ss.specimen.vip; # 指向网站根目录
uwsgi_param UWSGI_SCRIPT manufacture:cms_app; # 指定启动程序,manufacture是manufacture.py前部分,cms_app是程序内用以启动的 application 变量名
}
}
例如:
重新启动服务
方法(nginx):
- 宝塔面板软件管理中重启nginx; (推荐)
- 修改配置后重新加载生效: nginx -s reload
方法(uwsgi):
- 进入虚拟环境命令: source venv/bin/activate
- 启动uwagi命令: uwsgi config.ini (如果不报错就表示成功了!)
最后后台挂器服务就OK了
nohup uwsgi config.ini &
网页上就可以正常访问了,若不能正常访问,请查看相应端口是否放行!
欢迎留下你的看法
共 3 条评论
绑定域名的nginx配置文件参考
=============
server
{
listen 80;
server_name btaotao.com http://www.btaotao.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/my_flask;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000; # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理
uwsgi_param UWSGI_PYHOME /www/wwwroot/my_flask/demo_venv; # 指向虚拟环境目录
uwsgi_param UWSGI_CHDIR /www/wwwroot/my_flask; # 指向网站根目录
uwsgi_param UWSGI_SCRIPT manufacture:app; # 指定启动程序,manufacture是manufacture.py前部分,cms_app是程序内用以启动的 application 变量名
}
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#PHP-INFO-START PHP引用配置,可以注释或修改
include enable-php-54.conf;
#PHP-INFO-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/btaotao.com.conf;
#REWRITE-END
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log off;
access_log /dev/null;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log off;
access_log /dev/null;
}
access_log /www/wwwlogs/btaotao.com.log;
error_log /www/wwwlogs/btaotao.com.error.log;
}
什么都不需要动 在宝塔的默认网站配置文件里加上下面这段代码
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000; # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理
uwsgi_param UWSGI_PYHOME /www/wwwroot/my_flask/demo_venv; # 指向虚拟环境目录
uwsgi_param UWSGI_CHDIR /www/wwwroot/my_flask; # 指向网站根目录
uwsgi_param UWSGI_SCRIPT manufacture:app; # 指定启动程序,manufacture是manufacture.py前部分,cms_app是程序内用以启动的 application 变量名
}
如果安装了宝塔面板的python项目管理器
实际上只需要安装uwsgi 即可,然后保证uwsgi里的端口和nginx 的端口一致
就可以正常跑起程序了