192【ajax技术】Flask和Ajax技术
193【部署】开发机上的准备工作
194【部署】服务器上安装vim、mysql、memcached等
195【部署】服务器上安装Python环境、git、虚拟环境等
196【部署】项目运行环境配置
197【部署】uwsg部署项目
安装uwsgi:
uwsgi是一个应用服务器,非静态文件的网络请求就必须通过他完成,他也可以充当静态文件服务器,但不是他的强项。uwsgi是使用python编写的,因此通过pip3 install uwsgi就可以了。(uwsgi必须安装在系统级别的Python环境中,不要安装到虚拟环境中)。然后创建一个叫做uwsgi.ini的配置文件:
[uwsgi]
# 必须全部为绝对路径
# 项目的路径
chdir = /srv/zlbbs/
# Django的wsgi文件
wsgi-file = /srv/zlbbs/zlbbs.py
# 回调的app对象
callable = app
# Python虚拟环境的路径
home = /root/.virtualenvs/xfz-env
# 进程相关的设置
# 主进程
master = true
# 最大数量的工作进程
processes = 10
http = :8000
# 设置socket的权限
chmod-socket = 666
# 退出的时候是否清理环境
vacuum = true
然后通过命令uwsgi --ini uwsgi.ini运行,确保没有错误。然后在浏览器中访问http://ip地址:8000,如果能够访问到页面(可能没有静态文件)说明uwsgi配置没有问题。
198【部署】nginx和uwsgi部署项目
安装和配置nginx:
虽然uwsgi可以正常的部署我们的项目了。但我们还是依然要采用nginx来作为web服务器。使用nginx来作为web服务器有以下好处:
- uwsgi对静态文件资源处理并不好,包括响应速度,缓存等。
- nginx作为专业的web服务器,暴露在公网上会比uwsgi更加安全一点。
- 运维起来更加方便。比如要将某些IP写入黑名单,nginx可以非常方便的写进去。而uwsgi可能还要写一大段代码才能实现。
安装:
通过apt install nginx
即可安装。
nginx简单操作命令:
- 启动:service nginx start
- 关闭:service nginx stop
- 重启:service nginx restart
- 测试配置文件:service nginx configtest
添加配置文件:
在/etc/nginx/conf.d目录下,新建一个文件,叫做zlbbs.conf,然后将以下代码粘贴进去:
upstream zlbbs{
server unix:///srv/zlbbs/zlbbs.sock;
}
# 配置服务器
server {
# 监听的端口号
listen 80;
# 域名
server_name 192.168.0.101;
charset utf-8;
# 最大的文件上传尺寸
client_max_body_size 75M;
# 静态文件访问的url
location /static {
# 静态文件地址
alias /srv/zlbbs/static
}
# 最后,发送所有非静态文件请求到django服务器
location / {
uwsgi_pass zlbbs;
# uwsgi_params文件地址
include /etc/nginx/uwsgi_params;
}
}
写完配置文件后,为了测试配置文件是否设置成功,运行命令:service nginx configtest
,如果不报错,说明成功。
每次修改完了配置文件,都要记得运行service nginx restart
。