主要通过在centos中安装uwsgi和nginx来启动django项目
工作原理:
首先在centos上安装uwsgi和nginx
安装过程:
在centos上安装python3环境,centos系统默认是携带python的,但是centos7默认携带的是python2.7.2的版本,centos系统当中大量的使用了python2的语法,所以我们安装python3不能卸载和修改已有的python2的信息
1.确定我们开发的python的版本和所有的依赖包
package.txt文件
2.查询当前服务器ip
在VMware WorkStation中建立虚拟机
可参照https://blog.csdn.net/weixin_44239541/article/details/88726020
打开后台:
查询本机ip地址
ifconfig
查询得到是 10.10.65.33
3.使用xshell连接虚拟机
在输入对应的登录密码
然后就是xshell登录界面
连接成功
4.检测当前服务器的yum是否可用
yum list
yum serach python
如果yum不可用会报错:
解决办法:先查看yum进程
ps aux|grep yum
然后杀掉所有的yum进程
pkill -9 yum
然后输入yum list
5.在yum可用的情况下,安装python的包和依赖包
注意:必须先安装依赖包,在安装python的安装包,如果顺序搞错了,可能后面启动django项目会报出python变量丢失的错误
(1)下载python的依赖包
输入如下命令:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
(2)下载python包
wget -c https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
(3)解压python包
tar -Jxvf Python-3.6.2.tar.xz
(4)进行安装路径的配置
Cd Python3.6.2 # 先移动到python3.6.2目录下
./configure prefix=/usr/local/python3 # 进行路径配置
(5)编译安装
make && make install
(6)创建软连接·
将可执行文件创建类似快捷方式,放到/usr/bin目录下,创建软连接必须用绝对路径
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
(7)配置完成,顺带测试
6.把项目和package.txt复制到虚拟机下的/opt目录下
连接xftp
7.pip3安装packet.txt 里面的包
首先切换到/opt下
pip3 install -r package.txt
此时出现警告,需要更新pip
顺便查看一下pip现在安装上了哪些包:
pip3 install pymysql && pip3 install pillow && pip3 install django == 2.1.5 && pip3 install django-ckeditor
创建uwsgi的软连接
首先关闭防火墙和selinux
然后使用uwsgi的命令启动django
注意输入的ip是你虚拟机的ip
uwsgi --http 10.10.65.33:8000(虚拟机的ip) --file Ourblog(项目名称)/wsgi.py --static-map=/static=static
Uwsgi 模块名称
--http 协议名称
10.10.65.95:8000监听的IP和端口
--file uwsgi解析文件
--static-map 静态路由
uwsgi --http 10.10.65.33:8000 --file Ourblog/wsgi.py --static-map=/static=static
最后在浏览器输入对应的ip地址和端口
在/opt下创建一个目录叫做script
在目录当中创建ini文件
uwsgi.ini文件内容是:
chdir=/opt/OurBlog 项目目录
module=OurBlog.uwsgi:application 模块类型
socket=/opt/script/uwsgi.sock sock文件
workers=5 进程
pidfile=/opt/script/uwsgi.pid 进程id
http=10.10.65.95:8000 ip和端口
static-map=/static=/opt/OurBlog/static 静态文件路由和静态文件
uid=root 用户id
gid=root 组id
master=true 是否启用主进程
vacuum=true 项目停止删除冗余文件
enable-threads=true 是否启用线程
thunder-lock=true 序列化接收内容
karakiri=30 自中断时间
post-buffering=4096 缓存
daemonize=/opt/script/uwsgi.log 日志
chmod 755 uwsgi.ini
wget -c http://nginx.org/download/nginx-1.12.2.tar.gz
Tar -zxvf nginx-1.12.2
在解压的包的目录下创建
Make && make install
在script目录下直接输入 nginx
在浏览器输入对应虚拟机ip加8000端口