CentOS6.8下Django项目运行坏境搭建-uwsgi/nginx配置(六)

来源:互联网 发布:最大的免费网络图书馆 编辑:程序博客网 时间:2024/05/16 07:07

CentOS6.8+Django1.10.3+Nginx+uWSGI(六)

【本文配置uwsgi、nginx】

我的项目需安装的东西如下:
Python2.7.12
Django1.10.3
uWSGI
MySQL5.6.34
Nginx
RabbitMQ3.6.5
RedisGit

配置uWSGI

先创建个项目:
django-admin.py startproject mysite
python manage.py migrate 如果出现 nomodule named sqlite3
参考http://www.cnblogs.com/BlueBreeze/p/4234364.html 原因是安装了两个python版本

在你的项目文件夹下创建mysite_uwsgi.ini的配置文件,并编写配置项:
cd mysite
vim mysite_uwsgi.ini

mysite_uwsgi.ini 配置如下:
[uwsgi]
vhost = false
plugins = python
socket = 127.0.0.1:9001
master = true
enable-threads = true
workers = 2
wsgi-file = /usr/local/mysite/mysite/wsgi.py【我的项目wsgi.py文件所在目录】
virtualenv = ~/.virtualenvs/Env【我的虚拟运行环境所在目录】
chdir = /usr/local/mysite【我的项目目录】

启动uWSGI

uwsgi mysite_uwsgi.ini

启动时报“ImportError: No module named site”错误
这里是导入site模块时出错,所以应该在PYTHONPATH上增加site模块的路径。
查找site相关文件的路径:
[root@ZZZ xxx]# find / -name site.py*
/usr/lib64/python2.7/site.pyc
/usr/lib64/python2.7/site.py
/usr/lib64/python2.7/site.pyo
增加路径到环境变量:
export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7

配置Nginx

进入nginx 目录(我的是/etc/nginx), 有个nginx.conf 文件,在 配置项http中 配置一个 server ,转发到上面设置的uwsgi地址中 ;或者在目录/etc/nginx/conf.d 下新增一个conf的文件,把server配置写在里面即可,然后 重启nginx

/usr/sbin/nginx -s reload

server 的配置的例子

server {
listen 80;
server_name host;
location / {
uwsgi_pass 127.0.0.1:9001;
include /etc/nginx/uwsgi_params;
}
location /static {
root /usr/local/apps/FutureCareer;
}
access_log off;
}

host 配置成自己的服务器ip地址或者域名即可,这样我们从80端口监听到的一些请求就会被转发到9001端口的一些服务去做处理

参考博文:http://www.jianshu.com/p/7494560da3e6
在此十分感谢原作者!

1 0
原创粉丝点击