腾讯云服务器中默认python是2.7,不管它,我们先装个python3.6或者你想要的版本。
一 安装python3.6以及安装python虚拟环境、且装好需要的第三方库
-
安装依赖环境
# 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
-
下载Python3
官网下载: https://www.python.org/downloads/
或者淘宝源下载: http://npm.taobao.org/mirrors/python/3.6.1/
博主下载的版本:
链接:https://pan.baidu.com/s/1TBKCcxXN3Wt-gDr9UxuG3Q
提取码:4akg -
解压python到指定目录 放在/usr/soft(你指定个目录存放就好)
进入 Python-3.6.1目录:
cd Python-3.6.1
生成makefile
./configure --prefix=/usr/local/python3
编译
make
安装
make install
-
安装完python 配置下python环境
编辑.bash_profile文件:
vi ~/.bash_profile
刷新:
source ~/.bash_profile
检查python是否安装成功:
python3 -V
、pip3 -V
(注意是大写的V)
-
安装python虚拟环境
安装虚拟环境命令:
pip3 install virtualenv
安装虚拟环境管理软件命令:
pip3 install virtualenvwrapper
创建一个目录存放虚拟环境:(博主存在/var/www)
创建一个虚拟环境命名env3.6
virtualenv env3.6
进入虚拟环境
source env3.6/bin/activate
查看虚拟环境python、pip版本
(补充知识 退出虚拟环境命令:deactivate
) -
pip install 安装你所需要的第三方库及其对应版本号
如:pip install django==2.2.12
(安装django2.2.12版本)
二、项目打包,linux中运行django项目
- 项目打包
项目压缩并通过xftp传送到linux上、并解压:unzip django_shop.zip
- 通过命令运行项目是否会报错
python manage.py runserver 0.0.0.0:8888
(记住虚拟机中必须为0.0.0.0,不然访问不到页面,端口号自由选择)
运行成功后访问地址: http://虚拟机地址:8888/
若出现如下报错:
解决方案:
将env3.6/lib/python3.6/site-packages/django/db/backends/mysql目录下的base.py如下代码注释掉
若出现如下报错:
解决方案:
修改env3.6/lib/python3.6/site-packages/django/db/backends/mysql目录下的operations.py
运行成功
因为本项目是前后端分离,所以服务器有反应就OK了
成功之后,可以ctrl+c关闭运行
三、uwsgi+nginx部署django项目
- 在虚拟环境中安装uwsgi
pip install uwsgi
- 在所在的项目目录下创建uwsgi配置文件 uwsgi.ini、并运行uwsgi
vi uwsgi.ini
[uwsgi]
# 使用nginx连接时,Django程序所在服务器地址
socket = 127.0.0.1:8888
# 直接作为web服务器使用,Django程序所在服务器地
#http
# 项目目录
chdir=/var/www/django_shop
# 配置项目的wsgi目录。相对于工程目录
wsgi-file=django_shop/wsgi.py
#进程数
processes=4
#线程数
threads=2
#uwsgi服务器的角色
master=True
#存放进程编号的文件
pidfile=uwsgi.pid
#日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。我们以前的runserver是依赖终端的
daemonize=uwsgi.log
#指定依赖的虚拟环境
virtualenv=/var/www/env3.6
启动uwsgi服务器 uwsgi --ini uwsgi.ini
若uwsgi --ini uwsgi.ini
启动不了
用uwsgi ./uwsgi.ini
命令,(博主就是用这个)
查看运行状态
ps aux | grep uwsgi
成功运行了如下图:
补充知识:
uwsgi 启动:
uwsgi --ini xxx.ini
uwsgi 重启:
uwsgi --reload xxx.pid
uwsgi 停止:
uwsgi --stop xxx.pid
- nginx的安装不多做介绍同样的套路
下载、解压/.configure 、make、make install
不会安装的话,可百度参考安装 - 编辑nginx.conf,在http{}添加如下
server {
listen 8081; #监听端口号
server_name 175.24.19.236; #虚拟机地址
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8888; #与uwsgi绑定的ip及端口号
}
}
成功访问