参考
服务器安装的是Centos系统。
uwsgi是使用脉冲安装的。
nginx是使用yum安装nginx安装。
python 2.7, mysql 5.5使用yum安装。
<强>它们之间的逻辑关系如下:强>
web客户端& lt;→web服务器& lt;→套接字& lt;→uwsgi & lt;→Django
uswgi负责从Django拿内容,通过插座传给web服务器如nginx,最后显示到网页浏览器。
在django的项目下,建文件uswgi.ini,可以不用在uswgi后面写一串选项。
# uwsgi。ini文件 (uwsgi) # Django-related设置 #基础目录(完整路径) chdir=/var/www/html/# Django的wsgi文件 模块=app.wsgi:应用程序 #流程相关设置 #主 主=true #最大数量的工作进程 过程=10 #套接字(使用完整路径是安全的 #套接字=127.0.0.1:8001 套接字=/tmp/site.sock #……用适当的权限,可能需要 chmod-socket=666 #明确环境> # nginx.conf #上游组件需要连接到nginx 上游django { unix服务器:///tmp/site.sock;#文件套接字 #服务器127.0.0.1:8001;#为web端口插座(我们将使用第一个) } #服务器的配置 服务器{ #港口你的网站将会送达 听80; #域名服务 server_name demo.mmm.com;#替换您的机器的IP地址或FQDN utf - 8字符集; #最大上传大小 client_max_body_size 128;#适应口味 # Django媒体 位置/媒体{ 别名/var/www/html/media;# Django项目的媒体文件,根据需要修改 } 位置/静态{ 别名/var/www/html/static;# Django项目的静态文件,根据需要修改 } Django #最后,所有非媒体请求发送到服务器。 位置/{ uwsgi_pass django; 包括/var/www/html/uwsgi_params;# uwsgi_params文件安装 } }
uwsgi_pass django;中的django和上游django相对应。
两头的套接字名字要一样.uwsgi里要改袜子的权限为666年,默认的664年,nginx会连不上,在/var/log/nginx/错误。日志里可以看到连接被拒绝。
据说使用套接字比端口要好,注意unix://这个前缀,加上后面袜子的路径,是3个///看起来不好看。
无论使用插座还是TCP端口,uwsgi的套接字和nginx服务器的值要对应,否则没法接通路径。
server_name demo.mmm.com;看文章时,把server_name这个词看成域名,给修改掉,结果nginx启动失败。可以用域名或者IP。
ln - s/var/www/html/nginx.参看/etc/nginx/conf.d/
链接后,这样在相依。d配置目录里会有Django下建立的nginx.conf,比较方便。
uwsgi_params文件在/etc/nginx下面有,老外说是拷贝到Django目录下,不知道直接使用会有什么区别。
在把
使用chkconfig nginx nginx设置成自启动服务。
在/etc/rc。当地里加一行uwsgi/var/www/html/uwsgi.ini——uid www gid www
我没加uid和gid,以根运行uwsgi会被警告的。
原来是打算用apache的,所以有个/var/www/html目录.mod-python报错后,不知道怎么处理。
系统自带Python2.6, mod-python就是调用的2.6 .
nginx不能从uwsgi获得数据时,就会输出nginx的默认页面。还会输出错误网关提示。
linux最大的麻烦是,程序和配置文件分散,装好一个程序,都不知道它在哪里。
以上这篇阿里云ECS服务器部署django的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。