目录
sudo apt install python-pip -y
sudo pip install django ==1.9
STATIC_URL = '/static/' # 添加app的静态文件地址,绝对地址和相对地址都可以
STATICFILES_DIRS = [ "/home/ubuntu/(django应用名称)/(django项目名)/static" ] # 统一的静态文件地址
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
python manage.py collectstatic
DEBUG = False
ALLOWED_HOSTS = ['*']
python manage.py runserver 0.0.0.0:8888
sudo pip install uwsgi
sudo touch Test_uwsgi.ini
#Test_uwsgi.ini file
[uwsgi]
# uwsgi监听的socket,一会儿配置Nginx会用到
socket = 127.0.0.1:8000
# 在app加载前切换到该目录,设置为Django项目根目录
chdir = /home/ubuntu/(django应用名称)
# 加载指定的python WSGI模块,设置为Django项目的wsgi文件
module = (django应用名称).wsgi
# 启动一个master进程来管理其他进程
master = true
# 工作的进程数
processes = 4
# 每个进程下的线程数量
threads = 2
# 当服务器退出的时候自动删除unix socket文件和pid文件
vacuum = true
# 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器
daemonize = /home/ubuntu/(django应用名称)/uwsgi.log
#test.py文件输入如下:
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return ["success!"]
uwsgi --http :8000 --wsgi-file test.py
uwsgi --ini (django应用名称)_uwsgi.ini
sudo killall -9 uwsgi
sudo apt-get install nginx # 安装
/etc/init.d/nginx start # 启动
server {
listen 8888; # 设置监听端口号
server_name XXX.XXX.XXX.XXX; # 设置对外访问入口,可以是域名可以是IP地址,我设置的是IP
charset UTF-8; # 设置访问的语言编码
access_log /var/log/nginx/(django应用名称)_access.log; # 访问日志记录
error_log /var/log/nginx/(django应用名称)_error.log; # 错误日志记录
location / { # 设置虚拟主机的基本信息
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; # 刚才uwsgi设置的socket
uwsgi_read_timeout 2;
}
location /static { # 静态文件设置,nginx自己处理
expires 7d; # 过期时间
alias /home/ubuntu/(django应用名称)/static/; # 项目静态文件地址
}
}
sudo cp -f /home/ubuntu/nginx.conf /etc/nginx/
/etc/init.d/nginx start # 启动
#备注:启动nginx之前,需要先把uwsgi启动。
sudo nginx -t #检查配置文件
/etc/init.d/nginx start # 启动
/etc/init.d/nginx restart #重启
/etc/init.d/nginx stop #关闭
pkill -9 nginx #关闭
用 nginx + uwsgi + django 搭建web网站过程总结
原文:https://www.cnblogs.com/jasontang369/p/9390933.html