1,安装uwsgi
pip install uwsgi
1.1 uwsgi 的配置
项目部署时,需要把settings 文件下的改成下面
DEBUG=FALSE
ALLOWED_HOSTS=['*']
1.1.1 在项目目录下,新建一个uwsgi配置文件uwsgi.ini
[uwsgi]
#使用nginx连接时使用
socket = 127.0.0.1:8080
#直接做web服务使用
http = 127.0.0.1:8080
#项目目录
chdir=/user/web/item/(自己的项目绝对路径)
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=item/wsgi.py
#指定启动的工作进程数
processes=4
#指定工作进程中的线程数
threads=2
master=True
#保存启动之后主进程的pid
pidfile=uwsgi.pid
#设置uwsgi后台运行,uwsgi.log保存日志信息
daemonize = uwsgi.log
#设置虚拟环境的路径
virtualenv=/user/web/
1.2 uWSGI基本命令:
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
2. 安装nginx
pip install nginx
2.1 修改nginx 配置文件 打开/etc/nginx/nginx.conf文件
server {
listen 80;
server_name 127.0.0.1
charset UTF-8;
access_log /var/log/nginx/myweb_access.log;
error_log /var/log/nginx/myweb_error.log;
client_max_body_size 75M;
location / {
#连接uwsgi
include uwsgi_params;
#和uwsgi socket一致
uwsgi_pass 127.0.0.1:8080;
uwsgi_read_timeout 2;
}
location /static {
#连接项目所有静态文件
#静态文件放置地址
alias /home/myweb/nginx/static/;
}
}
2.2 nginx 命令
service nginx start #启动
service nginx stop #停止
service nginx reload #重启
3. 静态文件收集,上面nginx配置静态文件有一个问题,就是上面的目录/home/myweb/static只是我们自己的静态文件的目录,你登录admin后发现admin页面的样式都丢失了。因为django自带的admin的静态文件路径没有导入。所以就需要新建一个文件夹,我的是/home/myweb/nginx/static,然后执行命令把整个项目的所有静态文件都收集到这个目录下,再修改下上面的配置。
3.1 新建文件夹 /home/myweb/nginx/static/
3.2 修改settings.py文件,添加STATIC_ROOT
STATIC_ROOT='/home/myweb/nginx/static/' #添加收集静态文件的目录
STATIC_URL = '/static/'
STATICFILES_DIRS=(
os.path.join(BASE_DIR,'static'),
)
3.3 执行收集命令
python manage.py collectstatic
3,4 修改nginx配置
location /static {
alias /home/myweb/nginx/static;
}