centos系統環境搭建專欄🔗點擊跳轉
關于Docker-compose安裝請看CentOS系統環境搭建(三)——Centos7安裝Docker&Docker Compose,該文章同樣收錄于centos系統環境搭建專欄。
Centos7部署項目
- 采用前后端分離的形式部署。
- 使用Docker運行項目。
- 使用Docker Compose創建項目容器。
- 使用git管理項目的更新。
文章目錄
- Centos7部署項目
- Centos7安裝git
- Centos7從github拉取代碼
- 配置git
- 配置用于提交代碼的用戶名
- 配置用戶郵箱
- 生成公鑰
- 效果如下
- github添加SSH key
- 打開你的GitHub
- 獲取ssh key公鑰內容
- 驗證
- 拉取項目
- 新建空白文件夾
- 拉取項目
- 使用Docker Compose創建項目容器
- 創建docker-compose.yaml
- 啟動項目
- 配置前端
- 新建空白文件夾
- 拉取前端代碼
- 創建nginx.conf
- 創建docker-compose.yaml
- 啟動服務
- 查看是否在運行
Centos7安裝git
安裝
yum install git
驗證
git --version
Centos7從github拉取代碼
配置git
配置用于提交代碼的用戶名
git config --global user.name "Your Name"
配置用戶郵箱
git config --global user.email "Your email"
生成公鑰
ssh-keygen -t rsa -C "Your email"
效果如下
ssh-keygen -t rsa -C "你的email"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:一串密碼 email
The key's randomart image is:
密碼圖
可知,Your public key has been saved in /root/.ssh/id_rsa.pub.
這里就是你密鑰的位置。
[root@VM-4-17-centos srv]# cd /root/.ssh/
[root@VM-4-17-centos .ssh]# ll
total 8
-rw------- 1 root root 1679 Jun 9 14:57 id_rsa
-rw-r--r-- 1 root root 400 Jun 9 14:57 id_rsa.pub
github添加SSH key
打開你的GitHub
獲取ssh key公鑰內容
id_rsa.pub就是你的公鑰,參考上面步驟,進入對應文件夾下查看公鑰。
cat /root/.ssh/id_rsa.pub
將它復制到github。
驗證
ssh -T git@github.com
成功后如下所示。
[root@VM-4-17-centos .ssh]# ssh -T git@github.com
Hi PerCheung! You've successfully authenticated, but GitHub does not provide shell access.
拉取項目
新建空白文件夾
mkdir /srv/tencent
mkdir /srv/tencent/server
我將會把github代碼拉取到/srv/tencent/server
拉取項目
復制ssh地址
進入/srv/tencent/server
執行下面的命令
git clone git@github.com:PerCheung/tencent.git
效果如下
[root@VM-4-17-centos server]# git clone git@github.com:PerCheung/tencent.git
Cloning into 'tencent'...
remote: Enumerating objects: 352, done.
remote: Counting objects: 100% (352/352), done.
remote: Compressing objects: 100% (210/210), done.
remote: Total 352 (delta 136), reused 289 (delta 77), pack-reused 0
Receiving objects: 100% (352/352), 111.94 KiB | 0 bytes/s, done.
Resolving deltas: 100% (136/136), done.
[root@VM-4-17-centos server]# ll
total 4
drwxr-xr-x 5 root root 4096 Jun 9 15:31 tencent
使用Docker Compose創建項目容器
創建docker-compose.yaml
/srv/tencent/server下創建docker-compose.yaml
# 指定 Docker Compose 文件版本
version: '3'# 定義服務
services:# 定義名為 tencent 的服務tencent:# 自定義容器名container_name: tencent_server# 始終重啟該容器restart: always# 使用當前目錄下的 Dockerfile 構建容器鏡像build: ./tencent# 賦予容器更高的權限,以便容器內的進程可以擁有更高的權限privileged: true# 容器內的工作目錄working_dir: /tencent# 將主機的 ~/.m2 目錄映射到容器內的 /root/.m2 目錄,以便容器內的應用程序可以訪問主機上的 Maven 倉庫volumes:- ./tencent:/tencent- ~/.m2:/root/.m2# 將容器的網絡模式設置為主機模式,使得容器內的應用程序可以直接使用主機的網絡資源,提高應用程序的網絡性能network_mode: host# 容器啟動時執行的命令,清除 Maven 緩存并啟動 Spring Boot 應用程序command: mvn clean spring-boot:run
啟動項目
docker-compose up
之后將會下載大量jar包到你的本地maven倉庫。
成功后有如下信息。
這證明項目可以順利啟動,使用ctrl+C
結束,換這個命令運行我們的項目。
docker-compose up -d
可以看到項目已經正在運行。
通過網頁即可訪問。
配置前端
同理,以上的步驟就是在配置后端,配置前端模仿即可。
新建空白文件夾
mkdir /srv/tencent
mkdir /srv/tencent/page
拉取前端代碼
/srv/tencent/page下執行
git clone git@github.com:PerCheung/mytencentpage.git
創建nginx.conf
/srv/tencent/page下創建nginx.conf如下
server {# 監聽端口號為 8080listen 8080;# 服務器名為 localhostserver_name localhost;# 設置字符集為 utf-8charset utf-8;# 設置根目錄為 /usr/share/nginx/filesroot /usr/share/nginx/files;
}
創建docker-compose.yaml
/srv/tencent/page下創建docker-compose.yaml如下
version: '3'
services:tencent_page:# 使用 nginx:1.21.1 鏡像作為容器image: nginx:1.21.1# 設置容器名稱為 tencent_pagecontainer_name: tencent_page# 啟用特權模式,以便容器內部可以執行一些特殊操作privileged: true# 掛載本地 dist 目錄到容器內的 /usr/share/nginx/files 目錄volumes:- ./mytencentpage/dist:/usr/share/nginx/files# 掛載本地 nginx.conf 文件到容器內的 /etc/nginx/conf.d/default.conf 文件- ./nginx.conf:/etc/nginx/conf.d/default.conf# 將容器內的 8080 端口映射到宿主機的 80 端口ports:- 80:8080# 啟動容器時執行的命令,創建 /usr/share/nginx/files 目錄并啟動 nginx 服務command: /bin/bash -c "mkdir -p /usr/share/nginx/files && nginx -g 'daemon off;'"
啟動服務
docker-compose up -d