CentOS7.4 部署django项目

CentOS7.4 系统默认带Python2.7 但是我最近在玩Python3.6 所以需要安装3.6版本

安装python3

1.远程下载python3代码包:

 wget     https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

解压安装包

tar -xf Python-3.6.3.tar.xz -C /usr/local/src

2.安装编译Python的依赖包,依赖包缺一不可,我曾安装python3未成功就是因为没有安装libffi-devel sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel python-devel

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel

3.进入文件目录

cd /usr/local/src/Python-3.6.3

4.解压,编译安装

yum install -y gcc gcc-c++(编译代码得有编译器)

./configure --prefix=/usr/local/python3.6  #指定安装目录

make -j 4 && make install

5.做软连接(Centos自带python2.7,很多软件基于python2.7,所以不要覆盖python2.7的软连接(python)))

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

如果/usr/local/python3/bin下有pip3文件,则

ln -s /usr/local/python3.6/bin/pip3 /usr/local/bin/pip3,然后跳过第四个步骤

如果没有,则需要安装pip3,正常情况下安装了python3.6`` pip3会附带安装,直接软链接即可

安装virtualenv(虚拟环境)

1.下载virtualenv

pip3 install virtualenv

如果安装不上就用国内的豆瓣源安装

pip3 install -i https://pypi.douban.com/simple/  virtualenv

2.找到virtualenv文件位置

find / -name virtualenv

结果:/usr/local/python3.6/bin/virtualenv

3.建立软连接

ln -s  /usr/local/python3.6/bin/virtualenv /usr/bin

4.建立虚拟环境(你在哪个目录下使用该命令,虚拟环境目录就会建立在该文件夹下)

virtualenv -p /usr/local/bin/python3 webenv

5.修改权限

chmod -R u+x webenv

6.进入虚拟环境

source webenv/bin/activate

7.退出虚拟环境

deactivate

安装Django

1.安装

pip install django==1.11

2.查看django版本

python3

import django

django.get_version()

安装nginx

1.官网下载源码

官网下载直接下载.tar.gz安装包地址:https://nginx.org/en/download.html

右键您要下载的版本,选择复制链接地址,然后wget 下载

wget   https://nginx.org/download/nginx-1.14.0.tar.gz

2.安装编译ngix所需依赖

yum install -y pcre pcre-devel 

yum install -y openssl openssl-devel (上面已安装这里可以不再安装)

3.编译

使用tar命令进行解压

tar -zxvf nginx-1.14.0.tar.gz 
cd nginx-1.14.0 

配置

./configure --prefix=/usr/local/nginx1.14

编译安装 1. 使用make命令进行编译安装

make 
make install 

执行whereis nginx命令可以查看已经安装的nginx1.14

启动 停止nginx

cd /usr/local/nginx/sbin/ 
./nginx// 启动 nginx 

./nginx -s stop // 停止 nginx 

./nginx -s quit // 从容停止 nginx 

./nginx -s reload // 重启 nginx 

./nginx -s quit此方式停止步骤是待nginx进程处理任务完毕进行停止 

./nginx -s stop此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程 

查询nginx进程

ps aux|grep nginx 

重启 nginx

这里推荐先停止再启动

./nginx -s quit 

./nginx 

重新加载配置文件

当我们修改了nginx 的配置文件 nginx.conf想让它立即生效时这时我们就需要重启nginx

./nginx -s reload 

启动成功后,在浏览器可以看到这样的页面

开机自启动

在rc.local增加启动代码即可

vi /etc/rc.local 

增加一行/usr/local/nginx1.14/sbin/nginx

设置执行权限

chmod 755 rc.local

安装uwsgi

uwsgi 适合处理django的动态处理,uwsgi 安装非常简单只需要

pip3 install uwsgi
pip3 install uWSGI==2.0.23 安装指定版本
ln -s /usr/local/python3.6/bin/uwsgi /usr/bin/uwsgi

用uwsgi 跑django 程序

在Django网站目录创建配置文件uwsgi.ini,内容为:

[uwsgi]
socket = 127.0.0.1:8005
#项目目录地址
chdir=/website/rizhaodarkmatter
#主进程
master = True
#入口文件 wsgi.py 文件文字
wsgi-file=rizhaodarkmatter/wsgi.py
#多站模式
#vhost = True
#多站模式不设置入口模块和文件
#no-stie = True
#子进程数
processes=5
#reload-mercy = 10
#推出/重启时清理文件
#vacuum = True
#max-requests = 1000
#limit-as = 512
#buffer-sizi = 30000
#脚本启动信息
pidfile = /website/rizhaodarkmatter/uwsgi.pid
#日志文件
daemonize = /website/rizhaodarkmatter/uwsgi.log
#disable-logging = True
# 虚拟环境地址
virtualenv=/root/webenv
#允许用内嵌的语言启动线程,如果使用django_apscheduler定时任务,请开启此项目
enable-threads = true

然后运行 uwsgi --ini 刚才新建的ini文件地址 就可以运行uwsgidjango

注意,网站更新后要重载uwsgi才能生效

uwsgi --reload uwsgi.pid

创建nginx.conf

文件内容:

server {
    listen       80;
    server_name  www.rizhaodarkmatter.com;

    location / {
            include  uwsgi_params;
            uwsgi_pass  127.0.0.1:8005;
            uwsgi_param UWSGI_SCRIPT rizhaodarkmatter/wsgi.py;
            uwsgi_param UWSGI_CHDIR /website/rizhaodarkmatter;
            index  index.html index.htm;
            client_max_body_size 35m;
        }
    location /static/ {
        alias /website/rizhaodarkmatter/static/;
    }
    error_log    /website/rizhaodarkmatter/error.log    error;
}

然后在nginx的配置文件中添加

include 上面nginx.conf地址

nginx

现在用 www.rizhaodarkmatter.com 访问网站即可了 OK 大功告成~

文档信息

版权声明:可自由转载(请注明转载出处)-非商用-非衍生

发表时间:2018年6月23日 16:15