使用須知
- 選擇0M帶寬不能訪問公網(不分配公網IP),如需分配公網IP請增加帶寬值。
- 云服務器ECS默認不開啟虛擬內存如您需要使用請登錄云服務器內部操作。Linux開啟swap(虛擬內存)、Windows虛擬內存的設置
- 若您購買了數據盤,請先掛載后使用。Linux操作系統掛載數據盤方法、Windows操作系統掛載數據盤方法
- 如您需要修改登錄密碼,請再ECS控制臺對訂購實例進行“重置密碼“操作。請查看操作指南
- 如網站用于web訪問,請及時備案。如需幫助,請查看備案專區
- 阿里云會不定期為您推送活動優惠以及業務通知,如需關閉消息或設置其他人接收消息,請前往 消息中心進行管理
- ECS使用中遇到環境部署、安全檢測、服務器加速等問題,需要管理工具幫助,請查看軟件市場
- 如您需要隨時獲取ECS資源信息,信息實時監控,請下載阿里云APP
- 我們為您提供了專業免費的第三方軟件安裝教程,包含MySQL、寶塔、WordPress、Nginx等十余款常用軟件,還可提問安裝過程中遇到的異常問題。如無法自助完成安裝,可購買一對一專家服務
免密登陸
-
安裝
Remote - SSH
插件,即可在 VSCode 中進行配置 -
配置別名快速登錄:ssh-config
Host lynHostName xx.xx.xx.xxUser root# 就可以直接登陸了(需要輸入密碼) $ ssh lyn
-
修改本地 config
# 提示你輸入密碼,成功后可以直接 ssh 登陸 $ ssh-copy-id lyn# 就可以直接登陸了(無需輸入密碼) $ ssh lyn
自動化部署環境
安裝Java
Jenkins 本身是依賴 Java 的,所以我們需要先安裝 Java 環境
- 注意:最新版本 Jenkins 需要使用 11-17 版本的 Java
- 由于我使用的是 Alibaba Cloud Linux 3.2104 LTS 64位,就安裝了 java-17-alibaba-dragonwel
$ dnf search java-17
$ dnf install java-17-alibaba-dragonwell.x86_64
如果下載的非最新版 Jenkins 可以安裝 Java1.8 版本
$ dnf search java-1.8
$ dnf install java-1.8.0-openjdk.x86_64
使用 dnf 安裝的,很難找到 jdk 安裝的位置,會有些小問題。還是推薦在官網下載,手動配置環境變量:https://www.oracle.com/java/technologies/download
- jdk8,需要先注冊 Oracle 賬號才能下載,官網下載還是很快的
$ tar -zxvf jdk-17_linux-x64_bin.tar.gz
$ tar -zxvf jdk-8u391-linux-x64.tar.gz
$ pwd
/home/software/jdk-17.0.9/
/home/software/jdk1.8.0_391/
修改環境變量文件
# export JAVA_HOME=/home/software/jdk-17.0.9
export JAVA_HOME=/home/software/jdk1.8.0_391
export PATH=$JAVA_HOME/bin:$PATH
需要對應版本了,修改文件重新加載環境變量即可
$ source /etc/profile
安裝Jenkins
$ dnf search jenkins
Last metadata expiration check: 0:29:36 ago on Mon 20 Nov 2023 08:58:40 AM CST.
=================================== Name & Summary Matched: jenkins ===================================
python3-jenkins.noarch : Python bindings for the remote Jenkins API
因為 Jenkins 本身是沒有在 dnf 的軟件倉庫包中的,所以我們需要連接 Jenkins 倉庫:
- wget 是 Linux 中下載文件的一個工具,-O 表示輸出到某個文件夾并且命名為什么文件
- 命令如有變動直接參考官網說明即可:https://pkg.origin.jenkins.io/redhat-stable/
$ wget –O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
$ mv jenkins.repo /etc/yum.repos.d/
根據對應 repo 就可以使用 dnf 進行安裝了,但是安裝是有認證的,需要使用 rpm 導入 GPG 密鑰以確保軟件合法
$ rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
# 或者
$ rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
之后編輯一下 jenkins.repo
$ vim /etc/yum.repos.d/jenkins.repo
將 http://pkg.jenkins.io/redhat-stable
的 -stable
刪除掉
[jenkins]
name=Jenkins-stable
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1
安裝 Jenkins
$ dnf install jenkins --nogpgcheck
啟動 Jenkins 服務
$ systemctl start jenkins
$ systemctl stop jenkins
$ systemctl status jenkins
$ systemctl enable jenkins
修改 Jenkins 端口
- 默認端口為 8080,我要改為 8081
$ cd /usr/lib/systemd/system
$ vim jenkins.service
重新加載配置文件
$ systemctl daemon-reload
$ systemctl restart jenkins
直接訪問 Jenkins 是無法展示頁面的,需要將其加入到安全組中
打開瀏覽器,輸入 IP + 對應端口
獲取輸入管理員密碼,解鎖 Jenkins
$ cat /var/lib/jenkins/secrets/initialAdminPassword
fc53e288a4ac429baa33b44b412dd7a1
安裝推薦插件即可
安裝Nginx
安裝 Nginx,或者去官網直接下載
- https://nginx.org/en/download.html
$ dnf install nginx
啟動 Nginx
$ systemctl start nginx
安裝Git
$ dnf install git-all
Linux下安裝GitLab倉庫,史上最詳細的教程來啦~
我的云服務器小于這個配置…
安裝Maven
去官網下載或者使用 wget 下載到指定目錄
- https://maven.apache.org/download.cgi
$ wget --no-check-certificate https://dlcdn.apache.org/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz
并解壓 maven 包
$ tar -zxvf apache-maven-3.9.5-bin.tar.gz -C ./
$ pwd
/home/software/apache-maven-3.9.5
配置環境變量
- 注意:Maven 是基于 jdk 的,所以一定要確保你 jdk 已經裝好
$ vim /etc/profile
export MAVEN_HOME=/home/software/apache-maven-3.9.5
export PATH=$MAVEN_HOME/bin:$PATH
重新加載環境變量
$ source /etc/profile
配置鏡像源
$ vim $MAVEN_HOME/conf/settings.xml
<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>
之后就可以直接打包了
- 默認沒有配置存放路徑,本地倉庫會在
/root/.m2/repository/
$ mvn clean install
安裝Tomcat
去官網下載或者使用 wget 下載到指定目錄
- https://tomcat.apache.org/download-90.cgi
解壓 tomcat 包
$ tar -zxvf apache-tomcat-9.0.55.tar.gz
$ pwd
/home/software/apache-tomcat-9.0.55
配置環境變量
$ vim /etc/profile
export TOMCAT_HOME=/home/software/apache-tomcat-9.0.55
export PATH=$TOMCAT_HOME/bin:$PATH
重新加載環境變量
$ source /etc/profile
其他環境
安裝Docker
把 yum 包更新到最新,不要隨意更新,因為我目前是新環境
$ yum update
安裝軟件包
$ yum install -y yum-utils device-mapper-persistent-data lvm2
設置 yum 源
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
查看所有倉庫中所有 docker 版本,并選擇特定版本安裝
$ yum list docker-ce --showduplicates | sort -r
安裝 docker
$ yum install -y docker-ce-24.0.6
啟動 docker
$ systemctl start docker
安裝PostgreSQL
Linux下PostgreSQL安裝部署詳細步驟
安裝方法參考官方文檔:https://www.postgresql.org/download/linux/redhat/
部署目錄
名稱 | 目錄位置 |
---|---|
PG數據庫安裝目錄 | /home/postgres/FlyingDB15.4 |
PG數據庫數據目錄 | /home/postgres/pgdata |
PG數據庫日志目錄 | /home/postgres/pgdata/log |
創建 postgres 系統用戶
(root)
$ useradd -m postgres
$ passwd postgres
postgres@123$ cat /etc/passwd | grep /bin/bash
root:x:0:0:root:/root:/bin/bash
postgres:x:1000:1000::/home/postgres:/bin/bash
切換到 postgres 用戶,上傳數據庫包,并解壓數據庫包
(postgres)
$ pwd
/home/postgres
$ mkdir FlyingDB15.4
$ tar -zxvf FlyingDB15.4.tar.gz -C FlyingDB15.4/
$ mkdir pgdata
$ chmod 0700 pgdata
搭建主庫
-
配置環境變量
$ vim ~/.bash_profile export PGHOME=/home/postgres/FlyingDB15.4 export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH export PATH=$PGHOME/bin:$PATH:$HOME/.local/bin:$HOME/bin export PGDATA=/home/postgres/pgdata export PGDATABASE=postgres export PGUSER=postgres export PGPORT=5432 export PGHOST=localhost export MANPATH=$PGHOME/share/man:$MANPATH export LANG=en_US.utf8 export DATE=`date +"%Y%m%d%H%M"`$ source ~/.bash_profile
-
初始化數據庫
$ initdb -D /home/postgres/pgdata -E UTF8 --locale=C -U postgres
-
配置允許訪問的 IP,允許所有 IP 以 md5 方式訪問
$ vim /home/postgres/pgdata/pg_hba.conf host all all 0.0.0.0/0 md5
-
啟動數據庫
$ pg_ctl start $ pg_ctl stop $ pg_ctl restart
-
修改數據庫密碼
$ psql alter user postgres with password 'your password';
-
退出 sql 命令行
$ \q
如果想要暴露數據庫到外面,需要修改 postgresql.conf
文件
$ vim /home/postgres/pgdata/postgresql.conf
listen_addresses = '0.0.0.0'
port = 5432
$ pg_ctl restart
之后再去云服務器把對應安全組放開,即可拿 sql 工具進行訪問
- 連接之后就可以創建對應表、對應模式,之后執行初始化 sql 腳本了
安裝Redis
去官網下載或者使用 wget 下載到指定目錄
- http://download.redis.io/releases/
前端環境搭建
安裝Nvm
nvm Github
直接下載可能會超時,沒超時按 Github 安裝方法即可
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
git clone 下載,之后把環境變量添加到對應文件
$ git clone https://github.com/creationix/nvm.git ~/.nvm
# 在 ~/.zshrc、~/.profile、~/.bashrc 添加以下命令
$ echo "source ~/.nvm/nvm.sh" >> ~/.bashrc
$ echo "source ~/.nvm/nvm.sh" >> ~/.profile
安裝依賴
$ npm i -g pnpm
前端打 jar 包添加如下腳本命令:
- 并添加對應 pom.xml 文件
"scripts": {"mvn": "npm run build && mvn clean && mvn install"
}
自動化腳本
修改對應配置文件
首先需要核對配置文件是否符合需求
- 我這邊需要修改對應 pg 配置和對應服務的端口
$ vim /home/template/ticket-base/ticket-base-run/src/main/resources/application-pg-dev.yml
db:url: ..username: ..password: ..
$ vim /home/template/ticket-base/ticket-base-run/src/main/resources/application.yml
server:port: 8080
自動打包程序腳本
編寫自動打包腳本程序:build.sh
- 需要注意從 Windows 直接復制腳本程序還需要修改換行格式
$ vim build.sh
#!/bin/bash
# 前端打包
cd /home/template/ticket-base-ui
pnpm i
pnpm mvn
# 后端打包
cd /home/template/ticket-base
mvn clean install$ chmod 755 build.sh
# Windows復制需要額外操作
$ vim build.sh
:set ff=unix
:wq
自動開啟關閉程序腳本
編寫自動殺進程、啟動程序腳本
$ vim start.sh
#!/bin/bash
BASE=/home/template
FILE=ticket-base-1.0.0-SNAPSHOT.jar
# 刪除歷史數據
rm -rf $BASE/$FILE
# 數據包拷貝到指定位置
cp $BASE/ticket-base/ticket-base-run/target/$FILE $BASE/$FILE
PID=`ps -ef | grep ticket-base | grep 'java -jar' | awk '{printf $2}'`
# 如果pid為空,提示一下,否則,執行kill命令
if [ -z $PID ];thenecho "java server not started"elsekill -9 $PIDecho "java server stoping...."
fi
# 啟動程序
nohup java -jar $BASE/$FILE >/dev/null 2>&1 &
echo 'java server starting...'