# vps操作 **Repository Path**: kentsx/vps-operation ## Basic Information - **Project Name**: vps操作 - **Description**: 记录VPS的操作 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-19 - **Last Updated**: 2024-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目部署结构 --- > flask+docker+nginx 参考网络上的各家方法,最终确定部署方案大致如下: - nginx容器2个 - 主Nginx容器:用来做反向代理 - 前端页面Nginx:用来放动态页面 - python容器 1个 专用于跑flask(相当于一个虚拟环境) - ~~mongo容器 1个 用于数据库~~ - ~~最终因AWS的服务器内存小放弃,还是使用了mongodb atlas免费512MB的~~ > 所有容器均不是定制,都是从镜像库拉取的官方docker。 > > 运行代码部分映射文件夹到宿主机,并通过git,便于后期修改 ![](img/2024-08-20-22-45-36-image.png) ## 默认设置 为方便部署及映射各docker内目录文件,直接在根目录创建`docker_volume`文件夹,用于映射各文件 ```bash mkdir /docker_volume ``` ## 安装git 在购买完vps后,即可先在宿主机上安装**git** ```bash sudo yum install git ``` 查看git版本 ```bash git --version ``` ### 拉取仓库内容(公共库) ```bash git clone git@path/to/repo.git ``` ### 私有库ssh连接 **1、前往ssh密钥存放文件夹** ```bash cd /root/.ssh ``` **2、生成ssh** ```bash ssh-keygen -t rsa -b 4096 -C "youremail@example.com" ``` 把这步中`.pub`结尾的文件中的内容,全部复制到对应网站**SSH密钥**相关地方。 **3、配置密钥** 创建过程中如果设置了密钥文件的名字(对话第一步,如果不创建就直接回车)(第二步建议不要输入密码而是按两次回车),就需要配置`config`文件 > 为github网站设置密钥名字为`github`,为gitee网站密钥名字为`gitee` > 在`.ssh`文件夹中创建`config`(如果有直接修改) > 创建命令:`touch config` ```js # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github # gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitee ``` [配置config文件参考](https://blog.csdn.net/qq_55558061/article/details/124117445) **4、后续git clone 用ssh模式** ## docker官方教程 1、[docker官方教程](https://docs.docker.com/reference/cli/docker/) 2、[指南 | Docker 中文版](https://docs.docker.net.cn/guides/) ### 常用命令 - 部署docker:`docker run` 可在最后加CMD命令 - 查看有哪些本地镜像: `docker images` - 镜像运行状态:`docker ps` - 进入container运行命令:`docker exec -it [container ID/或前三位] bash ` - 退出container直接输入exit - 启动、停止、重启:`start` `stop` `restart` - 删除容器:`docker rm [containerID]` ### 注意事项 - 需要在容器外外映射文件夹会“覆盖”容器内原有文件!!!![原因看此文](https://blog.csdn.net/hiphop321/article/details/123701090) - 在宿主机容器内**可以**映射到容器内**未创建**的文件夹 ## Docker Compose 中文版文档: [Docker Compose 概述 | Docker 文档](https://docs.docker.net.cn/compose/) API文档: [Compose规范概述 | Docker 文档](https://docs.docker.net.cn/compose/compose-file/)