sudo apt-get install python-dev python-pip python-virtualenv
如果不行使用这两种方法试试
python2/3创建方法;
1.pip install python3-env 安装虚拟环境包
2.python3 -m venv <虚拟环境文件名> 或者 python -m venv <虚拟环境名字>
3.进入该虚幻环境 并激活 激活指令activate
4.退出虚拟环境直接就是 deactivate
python2/3创建方法:
1.pip install virtualenv
2.virtualenv <虚拟环境名>
3.进入该虚幻环境 并激活 激活指令 进入bin文件内 source activate
4.退出虚拟环境直接就是 deactivate
sudo apt-get install nginx
(venv) $ pip install gunicorn
进入虚拟环境,安装第三方库,使用清单的方式。
pip freeze >> requirements.txt
说明:>>这个符号意思是增加内容,这里是将需要安装的第三方库安装到requirements.txt中
还有一个符号> 是覆盖的意思。
pip install -r requirements.txt
进入 /etc/nginx/sites-available
将default删除,重新写一个配置文件
这里写的是基本配置
注意“ ; ”不能省略
server{
listen 80; //你需要监听的端口
server_name zhangsan.com ; //填写域名或者这里填你的服务器的公网ip
location /static{
alias /home/venv/flask-test/app/static ; //这里配置静态文件的地址
}
location /{
proxy_pass http://127.0.0.1:9000 //这里http一定不能省略 还有自己执行这个项目运行的端口,随便一个基本是8090 或者9000
proxy_set_header Host $host; //这里就是默认的一样就可以。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
进入虚拟环境启动,还有进入到当前项目的启动程序的目录
(venv) $ gunicorn -w 4 -b 127.0.0.1:9000 run:application
That’s all! 它的安装就这么简单。不过这里得作一个解释。就是最后的那个参数 run:application
表示启动flask程序。 run是这个项目启动程序的文件名,application是flask项目实例,即application=Flask(_name__)
当然,就使用gunicorn启动完程序之后就可以了,不过也可以使用supervisor进程管理工具,使得项目可以更好的管理。
还可以参考:https://www.cnblogs.com/ray-liang/p/4837850.html
7.注意
如果不能启动,可能是你端口被占用,或者防火墙开启了,或者端口没有打开。
进程查看 ps aux|grep nginx
1.基本命令:
nginx 启动nginx服务
nginx -s reload 重启nginx
nginx -s quit 优雅退出 (此时执行此命令之时,若是有人在访问资源,要等到其访问完之后,nginx就会停止)
nginx -s stop 强行停止服务
2.nginx配置文件在
/etc/nginx/
sites-available 配置文件,在这里配置,然后链接文件到sites-enabled
sites-enabled 是sites-availablez中的文件执行的配置文件
3.基本的配置
进入 /etc/nginx/sites-available
将default删除,重新写一个配置文件
这里写的是基本配置
注意“ ; ”不能省略
server{
listen 80; //你需要监听的端口
server_name zhangsan.com ; //填写域名或者这里填你的服务器的公网ip
location /static{
alias /home/venv/flask-test/app/static ; //这里配置静态文件的地址
}
location /{
proxy_pass http://127.0.0.1:9000 //这里http一定不能省略 还有自己执行这个项目运行的端口,随便一个基本是8090 或者9000
proxy_set_header Host $host; //这里就是默认的一样就可以。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
4.日志记录
nginx服务器执行日志在
/var/log/nginx中,
这是一个支持wsgi协议的一个服务器,他能能够与各种wsgi web框架协作。而flask是一个基于wsgi协议的web框架,所以我们这里使用了gunicorn。。 还有支持wsgi协议的服务器。比如uwsgi。不过不建议使用,比较复杂。
一个进程管理工具。
supervisor命令行启动
supervisorctl -c /etc/supervisor/supervisord.conf.dpkg-new
一些命令
start <需要运行的进程>
stop 《需要停止的进程》
reload 重新加载