如果不用 docker 方式可以参考: 安装环境 文档进行服务器环境初始化
这里统一以 Debian 系统为例,Centos 系统自行替换操作命令即可!
1、更新软件包索引:
sudo apt update
2、安装一些必要的软件包,这些软件包允许apt通过HTTPS使用仓库:
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
3、添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4、设置稳定版仓库:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5、再次更新软件包索引以包含Docker仓库:
sudo apt update
6、安装Docker Engine:
sudo apt install docker-ce docker-ce-cli containerd.io
7、验证Docker是否安装成功:
sudo docker run hello-world
这条命令会下载一个测试镜像并在容器中运行,如果安装正确,您将看到欢迎信息。
安装启动命令:
1、安装 mysql
docker pull mysql:5.7
2、运行容器(详细启动挂载如下)
docker run -p 3306:3306 --name mysql \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
--memory 1.5g \
--restart=always \
-e MYSQL_ROOT_PASSWORD=设置mysql密码 -d mysql:5.7
3、阿里云开启安全组
4、防火墙
ufw allow 33706/tcp
运行容器各部分解释:
# 将容器的 3306 端口映射到主机的 3306 端口,这样就可以通过主机的 IP 地址和端口号访问 MySQL 服务。
# 指定容器的名称为 mysql,方便后续管理和操作
docker run -p 3306:3306 --name mysql \
# 将主机的 /home/mysql/log 目录挂载到容器的 /var/log/mysql 目录,用于存储 MySQL 的日志文件。
-v /home/mysql/log:/var/log/mysql \
# 将主机的 /home/mysql/data 目录挂载到容器的 /var/lib/mysql 目录,用于存储 MySQL 的数据文件。
-v /home/mysql/data:/var/lib/mysql \
# 设置 MySQL 的 root 用户密码为 root。这个参数使用了环境变量来传递密码信息。
-e MYSOL_ROOT_PASSWORD=123456 \
# 以后台模式运行 MySQL 容器,
-d
# 内存限制
--memory
# 内存保留
--memory-reservation
特别注意: 端口请设置为非3306,密码尽量设置复杂一些,否则数据库服务很可能被勒索攻击,另外如果可能的话,推荐将数据服务和应用服务分开不要放在一个容易或者一个服务器中。
1、安装redis
docker pull redis
2、启动
docker run --name redis -d -p 6379:6379 redis
3、云服务器安全组
4、开启6379防火墙端口
ufw allow 6379/tcp
先要将 pmhub 上传到你的服务器,或者使用 git clone 拉取最新代码
# 进入项目目录(进入 pmhub 的路径)
cd /var/lib/xxx/xxx/pmhub
1、打包构建项目
mvn -T 1C clean package -Dmaven.test.skip=true -Dmaven.compile.fork=true
2、构建镜像
mkdir -p build
cp pmhub-admin/target/*.jar build/app.jar
cp Dockerfile.prod build/Dockerfile
cd build
docker build -t pmhub:latest .
3、运行容器
docker run -p 8010:8010 --name pmhub \
-v /home/pmhub:/data \
-d pmhub:latest
4、开启8010端口安全组
5、开启8010端口防火墙
ufw allow 5010/tcp
6、查看容器
docker ps
7、查看容器日志
docker logs pmhub
特别注意: 因 build 需要过多资源且比较慢,如果服务器内存比较小(比如只有2G)推荐采用本地构建后上传到服务器。
npm run build:prod