说明:为了确保成功点火,按照以下操作时会涉及,请留意
使用centos7.x版本的服务器
使用python3.6.6
使用django2.0.4
网站数据目录 /data
后端python代码上传目录 /data/wwwroot
虚拟环境目录 /data/env
nginx、python安装目录 /usr/local
nginx配置文件所在目录 /usr/local/nginx/conf
uwsgi配置文件所在目录 /data/wwwroot
1、服务器系统版本查询:
cat /etc/redhat-release
2、更新系统:
yum update -y
(升级所有包同时也升级软件和系统内核)
yum -y upgrade
(只升级所有包,不升级软件和系统内核)
3、安装开发工具——软件管理包:(帮助源码安装软件)
yum -y groupinstall "Development tools"
4、安装python的准备工作——安装依赖:
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
5、下载python3源文件:
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
如果提示无法使用wget,请安装wget:
yum -y install wget
解压python的tgz文件:
tar -zxvf Python-3.6.6.tgz
进入文件目录:
cd Python-3.6.6
配置python程序的安装位置(/usr/local/python3):
./configure --prefix=/usr/local/python3
执行编译安装:
make && make install
6、给python和pip建立软连接(软连接建立后可以在不同位置使用命令):
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
7、之后便可以查看python和pip版本
python3
pip3 -V
8、虚拟环境作用:使用虚拟环境,可在虚拟环境中安装不同版本的python,安装不同版本python的库
先全局安装虚拟环境管理器virtualenv:
cd /usr/local
pip3 install virtualenv
9、安装后用这个管理器进行总的管理,可以安装多个虚拟环境,在每个环境中不同版本的python
建立virtualenv的软链接:
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
10、创建网站数据目录
mkdir -p data
创建虚拟环境总目录(在env下可以安装多个项目的虚拟环境),如:
/data/env/mysit_env
/data/env/myweb_env
mkdir -p /data/env
创建网站根目录
mkdir -p /data/wwwroot
切换到env目录中,并创建虚拟环境
cd /data/env/
virtualenv --python=/usr/bin/python3 mysite
11、启动虚拟环境
cd /data/env/mysite/bin
source activate
退出命令
deactivate
13、在虚拟环境中安装django和uwsgi
pip3 install django==2.0.4
(指定安装和你项目相同的版本)
pip3 install uwsgi
给uwsgi建立软链接,方便使用
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
可以分别在系统中和虚拟环境中使用pip3 list命令,查看系统或虚拟环境中安装的python库
[root@xxx testone_env]# pip3 list
(testone_env) [root@xxx testone_env]# pip list
通过比较感受一下虚拟环境的作用
14、配置uwsgi 根目录创建uwsgi.xml
cd /data/wwwroot
vim uwsgi.xml
127.0.0.1:9000</socket>#nginx转发过来,uwsgi接收的内部端口
<chdir>/data/wwwroot/</chdir>#项目目录
testone.wsgi</module>#testone为应用目录
4</processes>
uwsgi.log</daemonize>
</uwsgi>
不会使用vim可以通过FileZilla Client软件自己编辑然后上传
15、安装nginx配置nginx.conf
下载安装包
cd /usr/local
wget http://nginx.org/download/nginx-1.13.7.tar.gz
解压到nginx-1.13.7文件夹
执行安装
cd nginx-1.13.7
./configure
make&&make install
16、配置nginx.conf
cd /usr/local/nginx/conf
vim nginx.conf
找到server块
server {
listen 80; #服务器监听的端口
server_name localhost; #本地服务器
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9000; #转发到uwsgi
uwsgi_param UWSGI_SCRIPT testone.wsgi; #wsgi脚本名
uwsgi_param UWSGI_CHDIR /data/wwwroot; #项目目录
#root html;
#index index.html index.htm;
}
修改django项目中settings.py
DEBUG = False
ALLOWED_HOSTS = ['47.xxx.xxx.xxx','127.0.0.1'] #服务器名
配置结束
1、启动uwsgi
cd /data/env/testone_env/bin 进入虚拟环境
source activate 启动虚拟环境
cd /data/wwwroot
uwsgi -x uwsgi.xml
2、启动nginx
cd /usr/local/nginx/sbin
./nginx -t #可以不操作
./nginx
./nginx -s reload #可以不操作
3、可以通过ip成功访问网站
项目部署结束