栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django框架(四) 部署nginx与对接acapp

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django框架(四) 部署nginx与对接acapp

Django框架(四) 部署nginx与对接acapp

来源:
https://www.acwing.com/activity/content/code/content/2037153/
y总教程:https://www.acwing.com/file_system/file/content/whole/index/content/3257028/
之前项目是通过8000端口直接访问django,使用nginx,相当于给django外面套了nginx,通过443与80端口访问nginx,而nginx又通过uwsgi与django连接,最终达到访问django目的,这样的效率远高与直接通过8000访问runserver manage.py。

1.重新映射端口 (用于http协议)
将运行的网站退出
ssh server1 (登到安装docker的服务器)
docker commit django_server django_lesson:1.1 (打包成镜像)
docker rmi -f $(docker images | grep "" | awk "{print $3}") (清除无用镜像)
docker stop django_server 暂停容器
docker rm django_server 删除容器

到自己租的云平台开放 443 和 80端口
使用保存的镜像重新创建容器
docker run -p 20000:22 -p 8000:8000 -p 80:80 -p 443:443 --name django_server -itd django_lesson:1.1
2.配置Nginx
进入创建应用
将自己的IP写入到服务器IP中

sudo cp .vimrc .tmux.conf /root/  将vimrc和tmux复制到root目录下(先回到家目录下)

cd /etc/nginx
sudo vim nginx.conf 将配置好的nginx.conf复制成自己的

sudo mkdir cert
cd /etc/nginx/cert
sudo vim acapp.key  复制acpp.key(创建应用中配置好的)
sudo vim acapp.pem  复制acpp.pem(创建应用中配置好的)

sudo /etc/init.d/nginx start  启动nginx
sudo nginx -s reload 没有显示OK的话重新加载一下

查看nginx错误所在
cd /var/log/nginx/
sudo vim error.log  错误日志

3.修改django配置
cd ~/acapp/acapp
vim settings.py
ALLOWED_HOSTS = {"xxx.xxx.xxx.xxx","appxxx.acapp.acwing.com.cn"}
DEBUG = False 修改为上线模式,原本是调试模式,但无伤大雅,可改可不改

python3 manage.py collectstatic 归档static 在~/acapp/目录下

cd ~/acapp/scripts/
vim uwsgi.ini  配置uwsgi.ini
ctrl + c 退出 python3 manage.py runserver 0.0.0.0:8000
uwsgi --ini scripts/uwsgi.ini 使用uwsgi启动服务

需要增加的uwsgi.ini配置文件:

[uwsgi]
socket          = 127.0.0.1:8000
chdir           = /home/acs/acapp
wsgi-file       = acapp/wsgi.py
master          = true
processes       = 2
threads         = 5
vacuum          = true

这里如果修改了uwsgi.ini需要重新启动的,直接:sudo pkill -f uwsgi -9之后重新启动即可

4.acwing中填写创建信息
https://appxxx.acapp.acwing.com.cn/static/css/game.css css地址
https://appxxx.acapp.acwing.com.cn/static/js/dist/game.js js地址
AcGame 主类名
5.修改打包脚本
cd ~/acapp/scripts/
vim compress_game_js.sh

加入 echo yes | python3 manage.py collectstatic (进行一次归档)

这里如果路径设置有问题的情况下可以选择不修改,执行之前的compress_game_js.sh,然后再执行python3 manage.py collectstatic效果相同。每次修改完文件都要进行此操作。

6.对小球坐标无法适应页面进行修改
cd ~/acapp/game/static/js/src/playground/player 
vim zbase.js
将在画布上的坐标修改为实际坐标
this.playground.game_map.$canvas.mousedown(function(e) {
            const rect = outer.ctx.canvas.getBoundingClientRect();
            if (e.which === 3) {
                outer.move_to(e.clientX - rect.left, e.clientY - rect.top);
            } else if (e.which === 1) {
                if (outer.cur_skill === "fireball") {
                    outer.shoot_fireball(e.clientX - rect.left, e.clientY - rect.top);
                }
                outer.cur_skill = null;
            }
        });

./scripts/compress_game_js.sh (进行一次打包和归档)
F12 进行硬性清理缓存

7.显示菜单 调整游戏背景大小
cd ~/acapp/game/static/js/src
vim zbase.js
// this.menu = new AcGameMenu(this); 取消注释

cd ~/acapp/game/static/js/src/playground
vim zbase.js
//this.hide(); 取消注释

初始化内容改为在show()时
this.root.$ac_game.append(this.$playground);
        this.width = this.$playground.width();
        this.height = this.$playground.height();
        this.game_map = new GameMap(this);
        this.players = [];  //初始化一个人物数组
        this.players.push(new Player(this, this.width / 2, this.height / 2, this.height * 0.05, "white", this.height * 0.15, true)); //中心点坐标 半径 颜色 移动速度, is_me
        for (let i = 0; i < 7; i ++ ) {
            this.players.push(new Player(this, this.width / 2, this.height / 2, this.height * 0.05, this.get_random_color(), this.height * 0.15, false));
        }
./scripts/compress_game_js.sh (进行一次打包和归档)
F12 进行硬性清理缓存

8.调整游戏开始页面
cd ~/acapp/game/static/css
vim game.css
.ac-game-menu-field 固定值改为相对值
top: 40%;
left: 20%;

.ac-game-menu-field-item
height: 6vh;
font-size: 4vh;
padding: 2vh; //删除内边距

./scripts/compress_game_js.sh (进行一次打包和归档)
F12 进行硬性清理缓存
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/499002.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号