docker环境配置
1.上传django镜像到自己的服务器
scp/var/lib/acwing/docker/images/ django_lesson_1_0.tar server_name:
2.登录服务器 将镜像解压到本地
docker load -i django_lesson_1_0.tar
3.创建并运行容器
创建项目时用此命令:
docker run -p 20000:22 -p 8000:8000 --name django_server -itd django_lesson:1.0
项目上线时用此命令:
docker run -p 20000:22 -p 443:443 -p 80:80 -p 3000:3000 --name django_server -itd django_lesson:1.0
其中需要改动的是:3000:3000 -p
这是后端开放的端口;
django_server
这是项目名,自定义。
4.进入docker容器(相当于镜像里面的虚拟机)
docker attach django_serve
5.docker容器内创建普通用户
adduser acs # 创建角色
usermod -aG sudo acs # 提供sudo权限
ctrl p + ctrl q # 挂起容器
6.前往云平台安全组检查20000
、80
和443
端口是否开放。
一定要查看安全组是否关联了实例!!
7.在终端连docker容器
# 配置别名
cd .ssh
vim config
Host django
HostName 47.100.238.236
User acs
Port 20000
ssh-copy-id django # 配置免密登录
# 祖传配置文件
scp .vimrc .tmux.conf django: #根目录传给用户
创建项目
1.连接到docker镜像
ssh myserver # 切换到用户
ssh django # 连接到docker
2.创建Django项目
django-admin startproject acapp # acapp 是自己取的项目名
3.配置git
1.cd acapp #进入项目的文件夹
2.git init #初始化git
3.ssh-keygen #生成密钥用于连接到ac git上面 #(1)
4.将生成的公钥复制到acgit上 #免密登录 #(1)
5.打开acgit->新建项目->不勾选“使用自述文件初始化仓库”->创建
6.将“git全局设置”的命名复制到终端 #(1)
7.在终端创建readme.md文件
8.git add .
9.git commit -m "提示信息"
10.git remote add origin git@git.acwing.com:xxx/xxx.git #(复制倒数第三句) 添加远程仓库
11.git push --set-upstream origin master # 输入git push 根据提示完善命令
常见问题
Q1:remote origin already exists
A: git remote remove origin
4.运行Django
1.python3 manage.py runserver 0.0.0.0:8000
ctrl c #先关掉控制台
python3 manage.py migrate #同步一下数据库的修改
2.在setting文件里寻找ALLOWED-HOSTS /acapp/setting.py
ag ALLOWED-HOSTS #全文搜索
将公网ip以字符串的形式填入[]。
3.python3 manage.py runserver 0.0.0.0:8000 #再次运行
5.git忽略文件
在git仓库的根目录下(acapp),
.gitignore
在文件里面写上 **/__pycache__(两个杠) *.swp
再去用git提交代码,就不会再添加这类不必要的文件
6.创建项目
python3 manage.py startapp game # 创建gameapp
7.登录django管理员界面
python3 manage.py createsuperuser # 创建管理员账号