CentOs7 + Nginx + Uwsgi + Django环境搭建

### 安装 gcc(如果已经有了可以不装):

    yum -y install gcc

 

### 安装 g++(如果已经有了可以不装):

    yum -y install gcc-c++

 

### 安装依赖库:

yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel GeoIP gd libXpm libxslt sqlite-devel tcl-devel tk-devel opencv opencv-python bzip2-devel

 

 

############################################################

### 下载 nginx

wget -c http://nginx.org/download/nginx-1.13.5.tar.gz


 

### 解压nginx-1.13.5.tar.gz,并进入解压后的目录:

tar -xvf nginx-1.13.5.tar.gz

cd nginx-1.13.5

 

### 运行配置选项:

./configure --prefix=/usr/local/nginx

 

### 运行“make”编译 nginx

 

### 安装nginx

make install

 

### 创建软连接:

    ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

 

### 运行 nginx ,并查看进程:

nginx

ps –ef | grep nginx

 

### 访问 nginx

    浏览器中输入:http://服务器IP,若见到下面内容,说明nginx安装成功:

   

   

# 如果外面的IP不能访问,关闭防火墙:

systemctl stop firewalld.service


# 开通 80 端口:

在文件 /etc/sysconfig/iptables 中添加

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

添加后内容:

 

 

 

#########################################################

### 下载Python3.6

wget  -c https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz

 

### 解压:tar -xvf Python-3.6.0.tgz

### 进入目录:cd Python-3.6.0

### 运行配置:./configure --prefix=/usr/local --enable-shared

### 编译:make

### 安装:make install

### 创建软连接,将python指向phon3.6

先删除原来的python 命令:rm -f /usr/bin/python

再创建:ln -s /usr/local/bin/python3.6 /usr/bin/python

### 创建动态库软连接:

ln -s /usr/local/lib/libpython3.6m.so.1.0 /usr/lib/libpython3.6m.so.1.0

并使动态库生效:

ldconfig –v

### 运行 python 看到为 3.6 版本:

### 创建 pip 软连接:

ln -s /usr/local/bin/pip3.6 /usr/bin/pip

 

##########################################################################

### 安装Django

    pip install django==1.11.4

 

### /root 中创建 Django 工程:

django-admin startproject django_pro

测试运行django

cd django_pro/

python manage.py runserver 0.0.0.0:8000

本地浏览器中输入:http://127.0.0.1:8000

出现下图所示,说明django运行正常

 

###  Django实现Hello world

urls.py 文件中添加:

from . import views

url(r'^helloworld/', views.helloworld),

 

如图所示:

 

urls.py 同级目录中新建文件:views.py

views.py内容如下:

# -*- coding: utf-8 -*-

 

from django.http import HttpResponse

 

def helloworld(request):

    return HttpResponse('Hello World!!!')

 

运行django,在本地浏览器中输入:http://127.0.0.1:8000/helloworld/

出现下图运行结果说明成功。

 

 

#########################################################

### 安装 uwsgi

pip install uwsgi --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple

 

 

### 测试 uwsgi 连接 django(注意:先把django服务关闭):

cd /root/django_pro

uwsgi --http :8000 --module django_pro.wsgi

 

在本地浏览器中输入:http://127.0.0.1:8000/helloworld/

出现下图运行结果说明uwsgi安装成功

 

 

##########################################################

### 新建uwsgi配置文件:/root/django_pro/ uwsgi.ini

内容如下:

[uwsgi]

chdir=/root/django_pro

module=django_pro.wsgi:application

master=True

pidfile=/root/django_pro/project-master.pid

vacuum=True

max-requests=5000

daemonize=/root/django_pro/uwsgi.log

socket=192.168.13.131:9090

buffer-size=65536

 

#######################################################

### 修改 ngnix 配置文件:/usr/local/nginx/conf/nginx.conf

    http { } 括号中添加如下内容:

   

    server {

        listen 80;

        server_name  192.168.13.131;

 

        location / {

            include uwsgi_params;

            uwsgi_pass 192.168.13.131:9090;

        }

}

 

注意:添加内容后要把nginx.conf中原先的 server{ listen 80;……} 配置删除或注释掉。

 

### 运行 uwsgi

uwsgi --ini /root/django_pro/uwsgi.ini

### 运行nginxnginx

nginx 已经运行,重新加载配置信息:

nginx -s reload

 

### 使用外部浏览器访问:

http://xxx.xx.xx.xxx/helloworld

 

 

##########################################################

### 如果需要,修改 settings.py 配置:

DEBUG = False                            # 关闭 Django 测试:

 ALLOWED_HOSTS = ["*"]                   # 允许所有IP访问

 

### 杀掉 uwsgi 进程,重新运行 uwsgi :

ps -ef | grep uwsgi

kill -QUIT  xxx

uwsgi --ini /root/django_pro/uwsgi.ini






2018-04-02 21:41:32 | 张良 | 技术 & 提问 | 阅读1616次

回 复 :

和本网站的开发环境基本一致。

如果能加上操作系统的安装过程就更好了

不错

可以