说明:为了确保成功点火,按照以下操作时会涉及,请留意
使用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-release2、更新系统: 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-devel5、下载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 install6、给python和pip建立软连接(软连接建立后可以在不同位置使用命令):
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip37、之后便可以查看python和pip版本
python3 pip3 -V8、虚拟环境作用:使用虚拟环境,可在虚拟环境中安装不同版本的python,安装不同版本python的库
先全局安装虚拟环境管理器virtualenv:
cd /usr/local pip3 install virtualenv9、安装后用这个管理器进行总的管理,可以安装多个虚拟环境,在每个环境中不同版本的python
建立virtualenv的软链接:
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv10、创建网站数据目录
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 mysite11、启动虚拟环境
cd /data/env/mysite/bin source activate退出命令
deactivate13、在虚拟环境中安装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 <uwsgi> <socket>127.0.0.1:9000</socket>#nginx转发过来,uwsgi接收的内部端口 <chdir>/data/wwwroot/</chdir>#项目目录 <module>testone.wsgi</module>#testone为应用目录 <processes>4</processes> <daemonize>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 install16、配置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.xml2、启动nginx
cd /usr/local/nginx/sbin ./nginx -t #可以不操作 ./nginx ./nginx -s reload #可以不操作3、可以通过ip成功访问网站
项目部署结束
