CentOS部署Nginx+uWSGI+Django

本人环境CentOS 6.x,是刚安装上的Linux系统。

CentOS IP:192.168.1.1

Python:2.7.11

Django:1.9.5

Nginx:1.10.1

进入服务器后,要安装一大堆东西。

pip(下载django,uwsgi需要用pip下载)

yuminstallwget -y

wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4atar zxvf pip-8.1.2.tar.gz
cd ./pip-8.1.2wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gztar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install
cd ../
python setup.py install

然后利用pip下载django和uwsgi

pip install django==1.9.5
pip install uwsgi

下载完成之后就可以把你所写的项目放到服务器上面。我这里距离是放在/project/

然后测试django

python /project/manage.py runserver 192.168.1.1:8000    #按需求更改IP

然后内网访问192.168.1.1:8000,如果可以正常访问则OK。

uwsgi

首先新建1个test.uwsgi.py文件在项目的根目录。即/project (与manage.py同目录)

文件内容如下:

 1#coding:utf-8 2import os
 3import sys
 4reload(sys)
 5 sys.setdefaultencoding('utf8')
 6 7from django.core.wsgi import get_wsgi_application
 8 9 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")    #project为项目名,请按需求修改
1011 application = get_wsgi_application()

uwsgi的话有2种开启方法

第一种是直接在命令行输入命令打开,如:

uwsgi --http 192.168.1.1:8000 --chdir /project --module test_uwsgi --chmod-socket=666

第二种就是添加ini或xml配置文件

新建文件test.ini在项目根目录

vi /project/test.ini

[uwsgi]
http = 192.157.1.1:8000 #监听IP和端口
chdir = /project     #项目根目录
module = test_uwsgi    #uwsgi文件,注意不用把后缀.py加上去
processes = 4       #开启4个进程(按需更改)
threads = 2           #每个进程开启4个线程
enable-threads = True    #支持线程启动
daemonize = /var/log/uwsgi.log    #后台启动,并把日志记录到指定文件
buffer-size = 21573
stats = 192.157.1.1:9000

示例中用的是ini配置文件,如需使用xml配置,请另行百度xml配置文件。更多的参数使用也可以自行百度添加上去

当ini配置文件写好后执行

uwsgi --ini /project/blog.ini #--ini 表示使用ini配置文件,xml文件就用--xml

做完这些之后就访问192.168.1.1:8000端口,如无意外的话是可以访问成功的,但是我搭建的时候是可以访问成功,但是访问不了css,js,图片等静态文件。

如果出现问题无法访问成功,请仔细阅读启动uwsgi之后弹出来的一系列信息,里面一般都包含有错误信息。按照提示修改即可。

因为网页可以访问成功而且静态文件本来就是打算放在nginx上让用户直接访问,所以我就继续把配置进行下去了。

安装nginx

因为途方便,所以我直接选择yum 安装。

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpmchmod +x nginx-release-centos-6-0.el6.ngx.noarch.rpm
rpm -i nginx-release-centos-6-0.el6.ngx.noarch.rpm 
yuminstall nginx -y 

如无法安装成功,就在百度上搜其他的安装方法把nginx装上。

安装成功之后,nginx的目录会在/etc/nginx 下

接下来就要修改nginx 的默认配置了。

查看默认配置文件

cat /etc/nginx/nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

这是我的默认配置文件,如果我没记错的话应该是没做过任何修改的。请确保里面有include /etc/nginx/conf.d/*.conf;这行

这行的意思就是包含了所有/etc/nginx/conf.d/下 后缀是.conf的配置文件

然后我们在/etc/nginx/conf.d/目录下创建test.conf

vi  /etc/nginx/conf.d/test.conf


server{
        listen       80 ;    #监听80端口
        access_log /var/log/nginx/access.log;    #日志文件位置
        error_log  /var/log/nginx/error.log;
        location / {#访问/时
          include         uwsgi_params; #加载uwsgi模块
          proxy_pass http://192.168.1.1:8000;  #将连接转到该IP        }
        error_page   500502503504  /50x.html;
          location = /50x.html {
              root   html;
        }
        location /static/ {
            alias  /project/static/;    #访问/static时直接访问到/project/static 
        }
}

然后就大功告成了。当用户直接访问192.168.1.1:80  时  nginx 就会把连接转到192.168.1.1:8000上。

如果文章内有出错的地方,或者对文章有任何意见,可在评论下说明。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/220343.html<

(0)
运维的头像运维
上一篇2025-04-14 12:55
下一篇 2025-04-14 12:57

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注