建站过程中,Web服务器使用了nginx+uwsgi 组合,搭建相对轻松,服务器布置可参考大神指导文章:https://zhuanlan.zhihu.com/p/63038112
按照文章步骤基本上能够把服务器搭建起来,需要注意的是uwsgi配置文件与nginx配置文件在网络端口上的对接,也就是内部IP和端口的的设置,如我的网站uwsgi设置文件,将socket设置为使用mysite.sock套接文件与nginx连接起来 ,所以在nginx中的mysite.conf文件(需要单独创建)设置内部server为
server unix:/home/mysite_uwsgi/mysite.sock;
内部静态文件的服务器地址与之相同,即:
uwsgi_pass unix:/home/mysite_uwsgi/mysite.sock;
解决在nginx与uwsgi内部服务器之间的连接后,还需要将我们托管网站的r第三方的服务器的IP地址写入nginx配置文件 server_name参数中,如122.51.*.*
两个文件正确配置后,在服务器上启动后就可以正常访问网站了。
site.ini
[uwsgi]
#http = :8888
chdir = /home/mysite
home = /home/django
module = mysite.wsgi:application
master = True
processes = 4
socket = /home/mysite_uwsgi/mysite.sock
chmod-socket = 664
max-requests = 5000
harakiri = 60
uid = root
gid = root
pidfile = /home/mysite_uwsgi/master.pid
daemonize = /home/mysite_uwsgi/mysite.log
vacuum = True
[nginx]
upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server unix:/home/mysite_uwsgi/mysite.sock; # for a web port socket (we'll use this first)
}
server{
listen 80;
server_name 122.51.*.*;
charset utf-8;
client_max_body_size 75M; #上传文件大小限制
# 网站静态文件所在目录
location /static{
alias /home/mysite/static;
}
# 上传文件所在目录
location /media{
alias /home/mysite/media;
}
# 动态文件交给uwsgi处理
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass unix:/home/mysite_uwsgi/mysite.sock;
}
}