centos7
python3
uwsgi 2
nginx 1.10
Django 2.1.3
先使用Django测试看是否可以正常运行
进入Django目录
python manage.py migrate
python manage.py runserver 127.0.0.1:8080
修改settings.py文件
ALLOWED_HOSTS = ['*']
添加*允许所有IP访问
然后进行访问测试
一.搭建
1.修改nginx配置文件。
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
location /static/ {
autoindex on;
# 静态资源目录
alias /sixgod/studypy/static/;#该路径要和执行完 python manage.py collectstatic 后屏幕上显示的路径一致
}
}
静态文件显示:与上面的nginx配置结合。
在配置 uwsgi 时需要更改项目 settings.py 中的设置,更改项目如下
debug=False #关闭debug模式
allow_host=[‘*’] #允许所有IP访问
#添加行:
STATIC_ROOT =os.path.join(BASE_DIR,”/sixgod/studypy/static”) #静态文件重定位
再进行静态文件的转移 在项目目录下进行: python manage.py collectstatic 这一步的顺序很重要,否则路径会有问题(没有模块就安装)
执行完之后会将所有的静态文件转移到上面定义的目录中。
2.创建uwsgi.ini文件,创建的路径可以随意。
[uwsgi]
#运行用户
user=uwsgi
socket=0.0.0.0:9090
#项目目录
chdir=/untitled
#这个是项目目录下的wsgi.py 不用.py的后缀,这个也折腾我很久 会自动使用目录下的wsgi.py文件
module=untitled.wsgi
wsgi-file=/untitled/untitled.ini
master=true
pidfile=/usr/local/nginx/logs/uwsgi.pid
#注意文件权限
#加入这个参数,就可以在后台运行,运行的结果到这个日志文件查看即可
daemonize=/usr/local/nginx/logs/uwsgi.log
#注意文件权限
3.启动uwsgi
uwsgi --ini /untitled/uwsgi.ini
4.uwsgi启动脚本
#!/bin/bash
#chkconfig:2345 80 90
uwsgi_pid=/usr/local/nginx/logs/uwsgi.pid
start() {
if [ -e $uwsgi_pid ];then
echo "uwsgi already running...."
exit 1
fi
echo "Starting uwsgi!"
/usr/local/bin/uwsgi --ini /untitled/uwsgi.ini
}
# Stop nginx daemons functions.
stop() {
uwsgiid=`cat /usr/local/nginx/logs/uwsgi.pid`
echo "Stopping uwsgi! "
kill -9 $uwsgiid
rm -f /usr/local/nginx/logs/uwsgi.pid
}
restart(){
if [ -e $uwsgi_pid ];then
stop
start
else
start
fi
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "{start|stop|restart}"
exit 1
esac