
安装 Remote - SSH 插件,即可在 VSCode 中进行配置
配置别名快速登录:ssh-config
Host lyn
HostName xx.xx.xx.xx
User root
# 就可以直接登陆了(需要输入密码)
$ ssh lyn
修改本地 config
# 提示你输入密码,成功后可以直接 ssh 登陆
$ ssh-copy-id lyn
# 就可以直接登陆了(无需输入密码)
$ ssh lyn
Jenkins 本身是依赖 Java 的,所以我们需要先安装 Java 环境
$ 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

$ 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
$ 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 –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 端口
$ 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,或者去官网直接下载
$ dnf install nginx
启动 Nginx
$ systemctl start nginx
$ dnf install git-all
我的云服务器小于这个配置…

去官网下载或者使用 wget 下载到指定目录
$ 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
配置环境变量
$ 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
去官网下载或者使用 wget 下载到指定目录
解压 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
把 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
安装方法参考官方文档: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 工具进行访问
去官网下载或者使用 wget 下载到指定目录
直接下载可能会超时,没超时按 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 包添加如下脚本命令:
"scripts": {
"mvn": "npm run build && mvn clean && mvn install"
}
首先需要核对配置文件是否符合需求
$ 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
$ 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 ];
then
echo "java server not started"
else
kill -9 $PID
echo "java server stoping...."
fi
# 启动程序
nohup java -jar $BASE/$FILE >/dev/null 2>&1 &
echo 'java server starting...'