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文件地址
就可以运行uwsgi
跑 django
注意,网站更新后要重载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