部署django 二
添加uwagi配置文件
在你项目的根目录中创建mysite.xml(名字无所谓
),输入以下内容:
<uwsgi>
<socket>127.0.0.1:8000</socket> <!-- 内部端口,自定义 -->
<chdir>/data/project1</chdir> <!-- 项目路径 -->
<module>project1.wsgi</module> <!-- mysite为wsgi.py所在目录名-->
<!-- 因为是module(模块),所以用 . 表示下一级-->
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>
保存退出
安装nginx并配置nginx.conf文件
cd /home/downloads/
wget http://nginx.org/download/nginx-1.13.7.tar.gz
下载完解压
tar -zxvf nginx-1.13.7.tar.gz
解压完进入文件夹,执行编译安装
./configure
make
make install
nginx一般安装在/usr/local/nginx
- 为了防止意外,在***/conf/中备份一下nginx.conf文件
cd /usr/local/nginx/conf/
cp nginx.conf nginx.conf.bak
- 打开这个配置文件,删除 所有内容,加入以下内容(
括号太多,注释太多,简便操作,后期需要什么,就按照配置文件中的格式再往里面加
)
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name www.i-sekai.site; #改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT mysite.wsgi; #wsgi.py所在的目录名+.wsgi(解释过了)
uwsgi_param UWSGI_CHDIR /data/project1; #项目路径
}
location /static/ {
alias /data/project1/static/; #静态资源路径
}
#媒体文件也要放在这里吧?
}
}
- 在配置中(.conf)可能会出现错误,
/usr/local/nginx/sbin/nginx -t
测试配置文件是否正确
vim /usr/local/nginx/conf/nginx.conf改写配置文件
最后,没有错误
cd /usr/local/nginx/sbin/
./nginx
此时,nginx已经启动了。
cd /data/project1/
uwsgi -x mysite.xml
配置生效
/usr/local/nginx/sbin/nginx -s reload
重启nginx,网站打开你的域名
ps:
一定要注意Uwsgi和Nginx配置文件里的项目路径和静态资源路径,填写正确了才能成功访问。不然会出现502错误。还有就是,修改Django文件和其它配置文件之后,一定要重启Uwsgi和Nginx,不然不生效。
- 停止uwsgi
ps -ef | grep uwsgi
killall -9 uwsgi
- 启动uwsgi
uwsgi -x mysite.xml
- 重启nginx
/usr/lcoal/nginx/sbin/nginx -s reload
把nginx添加到环境变量中
cd /etc
vim profile
将PATH=$PATH:/usr/local/nginx/sbin
添加到最后,wq。
source profile
nginx 可以直接使用,无需加前面的/usr/local/nginx/sbin