【acwing】Django课程笔记之登录服务器及docker配置、git环境

注;本文中提到的终端均为acwing终端。

工程课 Linux-8.0. SSH的简易安全配置 - AcWing   (避免服务器被偷家)

怎样修改远程登录的端口?_弹性云服务器 ECS_常见问题_登录与连接_远程连接类_华为云 (huaweicloud.com)

修改SSH端口

vim /etc/ssh/sshd_config  修改ssh的配置,设置新端口

service sshd restart  重启ssh服务(service sshd reload 用这个更好 service sshd restart 慎用_路明子正的博客   用不了的话还可以/etc/init.d/ssh reload)

设置安全组,放行SSH端口

ssh root@xxx.xxx.xxx.xxx -p yy # xxx.xxx.xxx.xxx替换成云服务器的公网IP,yy替换成ssh端口

sudo ufw status verbose  检查UFW状态(verbose参数可不加。当防火墙处于关闭状态时只会显示inactive)

启用UFW防火墙日志

sudo ufw logging on
sudo ufw logging medium #sudo ufw logging low|medium|high

日志文件在/var/log/ufw.log

在防火墙开放SSH端口:

sudo ufw allow ssh

sudo ufw allow xx  #xx为ssh新端口

sudo ufw enable 开启防火墙

sudo netstat -tunlp | grep ssh  查看SSH侦听(监听)端口


华为云 - AcWing

4. ssh——ssh登录 - AcWing

Install Docker Engine on Ubuntu | Docker Documentation

终端中:

ssh root@xxx.xxx.xxx.xxx -p yy # xxx.xxx.xxx.xxx替换成云服务器的公网IP,yy替换成ssh端口

服务器中:

adduser acs  # 创建用户acs
usermod -aG sudo acs  # 给用户acs分配sudo权限

logout 退出ssh登录

终端中:

~/.ssh 后 vim config ,在其中

Host myserver1(别名,自定义)
    HostName IP地址或域名
    User 用户名
    Port 修改后的ssh端口

创建密钥:ssh-keygen  然后一直回车即可。(仅第一次需要)

ssh-copy-id myserver1 后输入用户对应密码登录服务器即可实现免密登录

之后使用 ssh myserver1 即可实现免密登录

 

服务器中:

sudo apt-get update 软件更新

sudo apt-get install tmux 安装tmux

 

终端中:

scp .bashrc .vimrc .tmux.conf server_name:  # server_name需要换成自己配置的别名(注意需要在home目录下)

输入tmux即可直接打开(按下ctrl+a后松开+d,挂起当前session。之后可用tmux a恢复)

2. tmux和vim - AcWing

 

服务器中在tmux中:

按照Install Docker Engine on Ubuntu | Docker Documentation中的流程安装docker

安装完毕后使用docker --version 命令查看版本,能显示版本号则表示已经安装完成。


docker教程 - AcWing

服务器:

Linux post-installation steps for Docker Engine | Docker Documentation

将当前用户添加到docker用户组 sudo usermod -aG docker $USER

 

终端:

scp /var/lib/acwing/docker/images/docker_lesson_1_0.tar server_name:  # 将镜像上传到自己租的云端服务器(Django课程应传django_lesson_1_0.tar文件)
ssh server_name  # 登录自己的云端服务器

docker load -i docker_lesson_1_0.tar  # 将镜像加载到本地
docker run -p 20000:22 --name my_docker_server -itd docker_lesson:1.0  # 创建并运行docker_lesson:1.0镜像(将ssh原端口22映射到20000端口,如果服务器ssh端口已修改,则进行相应修改)

docker attach my_docker_server  # 进入创建的docker容器
passwd  # 设置root密码

(若服务器ssh端口修改,则也需要对docker容器中的ssh端口进行相应配置后重启ssh服务)

去云平台控制台中修改安全组配置,放行端口20000。

返回AC Terminal,即可通过ssh登录自己的docker容器:

ssh root@xxx.xxx.xxx.xxx -p 20000  # 将xxx.xxx.xxx.xxx替换成自己租的服务器的IP地址
然后,可以仿照上节课内容,创建工作账户acs。

最后,可以参考4. ssh——ssh登录配置docker容器的别名和免密登录。

 

报错:
kex_exchange_identification: read: Connection reset by peer
解决:docker容器中没有安装ssh,运行以下代码:

apt-get update
apt-get install ssh
sudo /etc/init.d/ssh start

遇到A new version (/tmp/fileYhwBDa) of configuration file /etc/ssh/sshd_config is available, but the version installed currently has been locally modified.时,

选择 install the package maintainer's version

 

在服务器中ssh root@localhost -p 20000 登录到docker容器中

在终端中ssh root@xxx.xxx.xxx.xxx -p 20000 登录到docker容器中

 

在docker中安装tmux,然后从终端传工作环境到docker中(Django镜像中已安装tmux,直接传配置文件即可)。


Django容器中:

django-admin --version  此命令可查看django版本(课程中提供的为3.2.8)

django-admin startproject acapp 建立项目

ls 查看文件夹

tree  .  查看文件结构

cd acapp/   进入项目文件夹

在项目文件夹acapp/下:

git init   初始化git

回到用户目录~下,使用ssh-keygen ,生成公私密钥对

5. git - AcWing

gitLab中创建仓库(不勾选使用自述文件初始化仓库)后使用  Git 全局设置 

git status 查看仓库状态

git add .   将所有待加入暂存区的文件加入暂存区

git commit -m "给自己看的备注信息"        将暂存区的内容提交到当前分支

vim README.md    编辑README.md文件

git status

git add .      将README.md文件加入到暂存区

git commit -m "add README"    提交到当前分区

git remote add origin git@git.acwing.com:xxx/XXX.git    将本地仓库关联到远程仓库

将~/.ssh/id_rsa.pub 公钥信息cat后,在gitlab中添加ssh密钥,以便实现免密登录

git配置ssh登陆后,却提示要输入用户名、密码的一种解决办法:更改remote协议 

(git config --get remote.origin.url 查看remote协议,git remote set-url origin git@github.com:xxx/yyy.git修改remote协议,xxx用户名、yyy远程仓库名)


python3 manage.py runserver 0.0.0.0:8000 (建议带上0.0.0.0:8000)

访问服务器ip:8000后,提示You may need to add '服务器ip地址' to ALLOWED_HOSTS.

vim settings.py   将“服务器ip地址”以字符串形式添加到ALLOWED_HOSTS列表中。

__pycache__    是python为了提高执行效率而自动生成的缓存文件夹(【Python】__pycache__文件夹是什么东西? - 知乎 ),git应忽略该文件夹。

在本地仓库根目录(即项目根目录)下 vim .gitignore  然后写入 **/__pycache__

git add .

git status

git commit -m "add allow host"

git push


python3 manage.py startapp game

git add .

git status

git commit -m "start app game"

git push

管理员页面打不开,因为数据库未迁移

python3 manage.py migrate   之后重启服务,即可进入管理员页面

python3 manage.py createsuperuser 创建管理员账户(密码的后续修改可以在管理员页面中进行)

进入game/

touch urls.py

mkdir templates

models存放数据结构class,views存放函数,urls路由 匹配网址和函数,templates网页模板

 

posted @ 2023-05-13 10:48  infocodez  阅读(54)  评论(0编辑  收藏  举报