通过使用本地建立虚拟环境方式部署
linux下nginx安装部署
1、首先检查本机自带的有没有nginx -version
,没有则可以安装。
2、输入如下,开始安装。
yum -y install nginx
3、然后输入如下。
nginx -version
检查是否安装成功。
4、然后通过
systemctl start nginx
快速启动,然后使用systemctl status nginx
查看状态。
systemctl start nginx #启动nginx服务
systemctl restart nginx #重启服务
systemctl status nginx #查看状态
systemctl stop nginx #停止服务
如果访问页面不能显示,则可能的问题是用户不一致。
1、查看当前nginx的登录用户和自己主机的登录用户是否一致,不一致,可能会导致无法访问nginx
输入如下:
ps aux | grep "nginx: worker process" | awk '{print $1}'
2、不一致需要去如下里,修改为root,在下图处修改为当前用户即可,输入:wq
保存退出。
vi /etc/nginx/nginx.conf
3、输入ip地址查看,出现这个如下,代表成功。
linux下安装uwsgi
1、先输入如下,出现如下则证明安装成功。
pip install uwsgi
2、同时本地项目 根目录 下添加 uwsgi.ini 配置项文件,需要注意python 虚拟环境包路径,需要换成你自己的。
[uwsgi]
chdir = ./
#项目根目录,使用相对路径
module = autotpsite.wsgi:application
# 指定wsgi模块下的application对象
http = 0.0.0.0:9000
#http-socket = 0.0.0.0:9000
master = true
#主进程
pythonpath = /pycode_s1/pytestcode/pyenv/lib/python3.9/site-packages
#额外设置虚拟环境包环境,防止uwsgi找不到
home= = ./pyenv
#设置虚拟环境,docker镜像模式下则不需要
socket = ./websocket.sock
#设置使用unix socket模式通信
pidfile = uwsgi.pid
#pid文件,用于下脚本启动、停止该进程,对应使用相对路径
daemonize = uwsgi_server.log
#日志文件
disable-logging = true
#不记录正常信息,只记录错误信息
enable-threads = true
# 允许多线程
buffer-size = 40960
# 设置请求头最大字节数,用于socket模式
3、同时安装django项目依赖包,首先在本地环境项目根目录下执行
pip freeze > requirements.txt
生成一个项目依赖包文件。
4、然后通过git命令上传提交至远程仓库,或者直接在pycharm绑定Gitee账户后右上角点击提交并推送。
git add .
git -m commit "require"
git push origin master
在linux下进入需要安装的目录文件夹,提前绑定好ssh公钥,第一次需要使用 git clone
git pull
即可。
5、然后在项目根目录下创建虚拟环境,名字为test,
python3 -m venv pyenv
6、然后激活虚拟环境
. /pyenv/bin/activate #激活虚拟环境
deactivate #退出虚拟环境命令
7、然后在虚拟环境下使用安装依赖,等待安装完成,如下图。
pip install -r requirements.txt
*****期间可能出现mysqlclient安装失败问题,这时候需要手动安装*****
依此安装
yum install mysql-develpip install mysqlclient
等待安装成功即可。之后在执行如下安装即可。
pip install -r requirements.txt
6、安装完依赖包后使用
python manage.py makemigrations #生成迁移文件
python manage.py migrate #执行迁移文件
生成迁移文件,在执行迁移文件,记得先创建数据库
CREATE DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
7、最后使用
python manage.py runserver
检查是否安装完成启动成功。
8、然后使用uwigs命令启动配置文件,
uwigs uwigs.ini
会在设置配置文件下,出现日志文件等。
uwsgi --ini uwsgi.ini #启动服务
uwsgi --stop uwsgi.pid #停止服务
uwsgi --reload uwsgi.pid #重启服务
pkill -f uwsgi -9 #停止所有uwsgi进程
开始部署前后端
1、配置前端到nginx上,查看nginx配置文件在哪
nginx -t
2、进入如下:
vi /etc/nginx/nginx.conf
删除原本的root指向路径,重写到第一个location / ,root是指向前端打包后的文件夹目录,第二个和刚刚 uwsgi.ini 配置文件的一致。按 :wq
保存退出。
3、出来使用 nginx -t
检查语法无误后,执行如下重启nginx服务。
systemctl restart nginx
4、开始访问http://
,出现前端页面则成功部署。
现在换unix socket模式通信:
1、先在本地 uwsgi.ini 下,添加socket路径,git add .
等命令提交一下代码。
2、然后把uwsgi服务停止掉,git pull
拉取一下新修改的代码。
3、重新启动uwsgi服务。
uwsgi uwsgi.ini
4、修改nginx的配置,进入如下:
vi /etc/nginx/nginx.conf
把http模式注释或者删掉,改为如下,然后 :wq
保存退出。
5、重启一下nginx服务。
systemctl restart nginx
6、访问网址,出现前端页面,点击交互有反应,则配置成功。