centos6.5配置uwsgi与nginx支持django

时间:2022-06-27 13:09:15

一.centos中升级python

1. > wget https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tgz # https://www.python.org/ftp/python 此网站可以选择对应的版本(通过此方式下载的包就在当前目录,所以可以提前创建好目录并进入)

2. > tar -zxvf Python-3.5.4.tgz # 解压到当前目录

3. > cd Python-3.5.4

> ./configure --prefix=/usr/local/python3.5 --enable-shared

> make

> make install

> ln -s /usr/local/python3.5/bin/python3 /usr/bin/python3 # 建立软链接

> cp -R /usr/local/python3.5/lib/* /usr/lib64/ # 不拷贝运行python会报错

二.安装setuptools

1. > wget --no-check-certificate  https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26

> tar -zxvf setuptools-19.6

> cd setuptools-19.6

> python3 setup.py build

> python3 setup.py install

2.报错:RuntimeError: Compression requires the (missing) zlib module

3. > yum install zlib-devel

> cd python3.5

> make

> make install

4. > cd setuptools-19.6

> python3 setup.py build

> python3 setup.py install

三.安装pip

1. > wget --no-check-certificate  https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb

2. 同setuptools

3. python3 -m pip install uWSGI

4. 报错:ImportError: cannot import name 'HTTPSHandler'

5. 同2中的3、4

6. ln -s /usr/local/python3.5/bin/pip3 /usr/bin/pip3

四.安装uWSGI

1. > pip3 install uWSGI

> ln -s /usr/local/python3.5/bin/uwsgi /usr/bin/uwsgi

2. 使用:

uwsgi --http :8089 --wsgi-file test.py

uwsgi ---http :8088 --chdir /usr/local/python_test/guest/ --wsgi-file guest/wsgi.py --master --processes 4 --stats 127.0.0.1:9191

3. 常用命令:

--http:协议类型和端口号

--processes:开启进程的数量

--workers:等同于processes

--chdir:指定运行目录

--wsgi-file:载入wsgi-file文件

--stats:在指定的地址上开启服务状态

--threads:开启的线程数量

--master:允许主进程存在

--daemonize:使进程在后台运行,并将日志输出到指定的日志文件或者UDP服务器

--pidfile:指定pid文件的位置,记录主进程的pid号

--vacuum:当服务器退出时自动清理环境,删除Unix Socket文件和pip文件

五.安装nginx

1. > yum install nginx

2. Nginx基本操作

1./etc/init.d/nginx stop或者service nginx stop # 停止nginx

2./etc/init.d/nginx start或者service nginx start # 启动nginx

3./etc/init.d/nginx restart或者service nginx restart # 重启nginx

4.nginx -v # 查看版本

5.whereis nginx # 查看nginx的安装位置

6.find / -name nginx # 查找名字为nginx的目录或者文件

3. 修改默认端口号

> vim /etc/nginx/conf.d/default.conf # 修改server里的listen端口为8088

> nginx -s reload # 重新启动nginx

4. 在浏览器中访问127.0.0.1:8088,如果能正常访问,说明nginx环境配置正确

六.配置uwsgi与nginx支持django

1. 在创建guest目录时,在guest目录下默认已经生成了wsgi.py文件。在根目录创建django_uwsgi.ini,配置uWSGI参数

内容如下:

[uwsgi]

socket = 127.0.0.1:8088

chdir = /usr/local/python_test/guest

module = guest.wsgi

master = true

processes = 3

vacuum = true

2. 进入nginx所在目录,并修改配置文件

1. > vim /etc/nginx/nginx.config

2. 添加如下配置:

server {

listen 8089; # 实际访问的端口

server_name 127.0.0.1; # 实际访问的地址

access_log /usr/local/python_test/access.log;

error_log /usr/local/python_test/error.log;

location / {

include     uwsgi_params;

uwsgi_pass  127.0.0.1:8001; # 项目中的django_uwsgi.ini文件配置的端口

}

# 配置静态文件

location /static {

alias /usr/local/python_test/guest/sign/static;

}

}

3. 启动网站

1. 重启nginx

> ngingx -s reload

2. 启动uwsgi服务

> uwsgi --ini django_uwsgi.ini # 执行命令的前提是需进入django_uwsgi.ini所在目录

4.检测网站是否启动

1.在浏览器中输入:127.0.0.1:8089,看是否能访问