菜就多练练.
Docker 书写
- django-admin startporject acapp
- python3 manage.py startapp game
- 剩下的文件就要自己写喽
浏览器部署
- 关于nginx, uwsgi, django总是有很多问题, 点这里
小问号, 你是否有很多朋友
没有人能比y总更细了(bushi)
不想使用AcWing的域名怎么办(默认已经完成域名申请)
修改Docker
中的/etc/nginx/nginx.conf
文件
直接修改原内容即可
- 监听80端口的(3处)
server {
listen 80;
server_name www.jasonqian.com; # 1
rewrite ^(.*)$ https://$host$1; # 2
location / {
index index.html index.htm; # 3
}
}
- 监听443端口的(3处)
server {
listen 443 ssl;
server_name www.snak.space; # 1
ssl_certificate cert/****.pem; # 2
sel_certificate_key cert/*****.key; # 3
...
}
修改Docker
中的acapp/acapp/settings
文件
...
ALLOWED_HOSTS = ['*'] #好像修改成这个更省事一点
# ALLOWED_HOST = ['ip', 'acwing域名', '你自己的域名']
...
重启nginx和uswgi
这样就能在自己的域名下访问
新的疑惑
y总每次都将端口直接映射到一样的端口, 这样就导致我们在写其他Docker的时候不能访问这些端口你说的是几把
这个服务器只能运行这样一个Web服务
佬已经写好的文章
佬写的很好, 但是像我这样的弱鸡还是不能完全理解, orz
通过网上搜索, 这个比较适合当前的状况, 解决了没有完全解决
原理是通过服务器
上的nginx, 反向代理到不同的Ip地址上, 而Ip地址, 就是Docker
中python3 manage.py runserver 0.0.0.0:***
所用的Ip.
博客中的解决方案
- Docker中已经不需要nginx了, 只需要停留在
python3 manage.py runserver 0.0.0.0:****
即可 - 服务器
不需要映射80和443了, 但是云服务器的80和443端口必须开放
每次需要修改的就是server_name
和proxy_pass
, 相信聪明的你已经知道要怎么修改了
结尾
那么, 就欢迎各位前来查看我写的页面喽
y总太细辣hh