1.首先将代码上传到服务器上目录为:
/home/www/wwwroot/salt-api
这个目录是可以改变的,Nginx默认的目录实在安装目录下的html文件夹下,这个可以在安装前配置文件中设置;
2.配置服务器代理
使用的代理一共有两个,
nginx
和uwsgi
先说明一下,如果不用nginx
一样可以访问你的项目,使用nginx的目的是为了安全和负载均衡。
配置了nginx
做前端代理,uwsgi
作后端代理的服务器(这里所说的前后端都是相对的位置,并无实际含义),在处理来自Internet
的请求时,要先经过nginx
的处理,nginx
把请求再交给uwsgi
,经过uwsgi
才能访问到项目本身。
没有
nginx
而只有uwsgi
的服务器,则是Internet
请求直接由uwsgi
处理,并反馈到我们的项目中。
nginx
可以实现安全过滤,防DDOS
等保护安全的操作,并且如果配置了多台服务器,nginx
可以保证服务器的负载相对均衡。
而
uwsgi
则是一个web
服务器,实现了WSGI
协议(Web Server Gateway Interface),http
协议等,它可以接收和处理请求,发出响应等。所以只用uwsgi
也是可以的。
-
先安装 uwsgi
pip install uwsgi
注意这里使用pip
安装uwsgi
是吧它安装到你运行项目所需的环境当中去,一般系统会有几个python
版本,不要安装错地方导致找不到这个包;
安装后可以输入指令测试
uwsgi
如果报错 # uwsgi: command not found
解决方法:建立软链接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
-
在你的项目根目录下创建一个配置文件 uwsgi.ini (uwsgi支持多种配置文件格式,xml,ini,json等)
[uwsgi]
# 使用nginx连接时 使用
socket = 0.0.0.0:8000
# 直接作为web服务器使用
#http = 0.0.0.0:8000
# 配置工程目录
chdir = /home/liu/flask0923
wsgi-file = manage.py
# router
callable = app
# 配置项目的wsgi目录。相对于工程目录
# chdir = /root/shop/flaskday5
# wsgi-file = aixianfeng/wsgi.py
#配置进程,线程信息
processes = 4
threads = 10
enable-threads = True
master = True
pidfile = uwsgi.pid
daemonize = uwsgi.log
保存配置文件,我们可以通过指令来启动uwsgi
。
uwsgi uwsgi.ini
-
编写nginx 配置
nginx
默认的启动文件在安装目录下的conf
文件夹中,文件名为'nginx.conf'
,可以先复制这个文件再更改其中的内容,
修改其中的 server 这一部分
server {
listen 80;#此处为Nginx监听端口
server_name localhost;
charset utf-8;
#access_log /var/log/nginx/host.access.log main;
root /home/liu/flask0923;#此处为项目的根目录
location /static {
alias /home/liu/flask0923/static;#此处为项目的静态文件地址
}
location / {
include /usr/local/nginx/conf/uwsgi_params;#此处为uwsgi_params文件的地址,一般在Nginx安装目录的conf文件夹中
uwsgi_pass localhost:8000;#此处改为和uwsgi中一样的端口
}
#注意:将原文件中的以下几行内容注释掉
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /usr/share/nginx/html;
#}
}
-
以上两个文件修改完毕之后,进入运行项目的虚拟环境,启动uwsgi和nginx
uwsgi --ini /home/admin/flask0923/uwsgi.ini
nginx -c /home/admin/flask0923/nginx.conf
如果都能成功启动说明配置成功,可以用浏览器访问对应的IP地址,就可以访问部署的项目了
网友评论