虚拟机部署具体步骤
虚拟机部署的详细步骤,按照流程一步一步来,在不打错命令的情况下,应该没啥问题。
手残党可以完成一部分就拍一下快照 ,方便回滚
首先创建好新的虚拟机,
进入opt文件夹
导入python安装包3.6.2
项目文件夹,删除里面的__pycharm的配置文件
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、测试项目
python3 manage.py runserver 0.0.0.0:8000
11、关闭防火墙、selinux
systemctl stop firewalld
setenforce
12、用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.65.51: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_paramsuwsgi_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
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
