现在我们手里有一个准备发布的项目,那么如何将他上传到你的服务器,并让外网访问呢?
安装:
- 安装Flask pip3 install flask
- 安装UWSGI pip3 install uwsgi
- 安装了Nginx sodu apt-get install nginx
- 安装了Gunicorn pip3 install gunicorn
目录准备:
首先在你的/var/www/目录下创建一个测试目录,比如==/var/www# mkdir test==
然后使用chmod更改此目录的权限chmod 777 /var/www/test
这里讲一下chmod的规则,因为这里是测试用例,所以为了方便,直接使用777。
你好!
Ngnix
Ubuntu下的Nginx的目录结构大致如下:
- 所有的配置文件都在/etc/nginx下,每个虚拟主机已经安排在了==/etc/nginx/sites-available==目录下
- 启动程序文件在==/usr/sbin/nginx==
- 日志文件放在了/var/log/nginx中,分别是access.log和error.log
- 在==/etc/init.d/==下创建了启动脚本nginx
- 默认的虚拟主机的目录设置在了==/usr/share/nginx/www==
启动服务:/etc/init.d/nginx start,重启服务:/etc/init.d/nginx restart
现在,我们需要进入到Nginx的配置中,改动配置文件。vim /etc/nginx/site-avalidable/default
不要去改动默认的 nginx.conf 只需要将 /etc/nginx/sites-available/default文件替换掉就可以了。
新建一个 default 文件:
server { # 监听80端口 listen 80; # 本机 server_name localhost; # 默认请求的url location / { #请求转发到gunicorn服务器 proxy_pass http://127.0.0.1:5001; #设置请求头,并将头信息传递给服务器端 proxy_set_header Host $host; } }
将default配置文件替换掉就大功告成了!
还有,更改配置还需要记得重启一下nginx:
sudo service nginx restart
Gunicorn
我传入了一个简单的用来测试的Python文件wsgi.py ,使用命令/var/www/myflask# vim wsgi.py预览。
直接运行:
gunicorn -w 4 -b 127.0.0.1:8000 wsgi:app
直接运行,默认启动的127.0.0.1::8000
gunicorn 运行文件名称:Flask程序实例名
指定进程和端口号: -w: 表示进程(worker)。 -b:表示绑定ip地址和端口号(bind)。
$gunicorn -w 4 -b 127.0.0.1:5001运行文件名称:Flask程序实例名