我们需要的软件有VMware、Xshell 5、Xftp 6
首先创建虚拟机
进入opt文件夹
使用Xftp 6导入python3.6.2安装包、nginx-1.12.2安装包
在项目文件夹,删除里面的__pycharm__的配置文件
之后就可以无脑在Xshell中依次复制粘贴命令了
如果需要安装包的版本不同,请自行修改,还有项目名称,ip地址,端口等不同也要自行修改
1、导入依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
2、解压python包
tar -Jxvf Python-3.6.2.tar.xz
3、切入安装路径,出箭头>回车
cd Python-3.6.2
./configure prefix=/usr/local/python3
4、编译安装
make && make install
5、创建软链接–》快捷方式
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
(可以先不弄)
以后我们运行python3的脚本需要编程 python3 *.py
安装python的扩展包
yum install python-devel
6、安装python安装包
pymysql
pillow
django2.1.5
django-ckeditor 富文本编辑器
pip3 install pymysql && pip3 install pillow && pip3 install django2.1.5 &&pip3 install django-ckeditor
7、安装uwsgi
Python 的web项目,本身很难和Apache或者Nginx进行结合,为了让python web项目更加方便的被部署,开发出了uwsgi。
pip3 install uwsgi
8、创建软链接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
9、我们迁移我们的项目Qshop
复制我们的项目到虚拟机
(前边已经执行的不用执行)
10、关闭防火墙、selinux
systemctl stop firewalld
setenforce
11、用uwsgi模块,启动django
uwsgi --http 10.10.65.51:8000 --file Qshop/wsgi.py --static-map=/static=static
上面我们采用的是命令的方式使用uwsgi启动django,但是,不够完美。我们可以构造配置文件进行操作。
1、使用uwsgi的脚本启动django
在/opt下创建script目录
2、在script目录下创建uwsgi.ini
文件内容:自己改
[uwsgi]
chdir=/opt/OurBlog
module=OurBlog.wsgi:application
socket=/opt/script/uwsgi.sock
workers=5
pidfile=/opt/script/uwsgi.pid
http=10.10.10.110:9000
static-map=/static=/opt/OurBlog/static
uid=root
gid=root
master=true
vacuum=true
enable-threads=true
thunder-lock=true
harakiri=30
post-buffering=4096
daemonize=/opt/script/uwsgi.log
3、在script目录下执行如下语句会出现4个文件
uwsgi --ini uwsgi.ini
4、安装nginx
tar -zxvf nginx-1.12.2.tar.gz
cd 切入目录
./configure
回车
make && make install
5、创建软链接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
6、启动测试
nginx
7、进入conf目录
cd /usr/local/nginx/conf
8、备份下配置文件
cp nginx.conf nginx.conf.bak
9、开始配置nginx访问uwsgi 参照(nginx.conf)
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; 日志的格式
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name Qshop; 项目服务的名称
charset utf-8; 编码格式
access_log logs/host.access.log main; 访问日志
gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; 访问内容的类型
error_log /var/log/nginx/error.log error; 错误日志,默认没有,需要手动创建
location / {
include uwsgi_params; 加载uwsgi_params
uwsgi_connect_timeout 30; 连接的超时时间 不要加冒号不要加冒号不要加冒号
uwsgi_pass unix:/opt/script/uwsgi.sock; uwsgi.sock通讯的文件地址
}
location = /static/{
alias /opt/Qshop/static; 静态文件的目录
index index.html index.htm;
}
10、先启动uwsgi 然后启动nginx
10、杀死当前所有的nginx,uwsgi
pkill -9 uwsgi
pkill -9 nginx
去script下执行
uwsgi --ini uwsgi.ini
nginx
然后就可以去浏览器去查看你在虚拟机中的的项目了