Centos服务器部署前后端项目
目录
准备工作
1. 准备传输软件
下载WinSCP用于传输
WinSCP下载地址
2. 连接服务器
部署Mysql
1.下载Mysql(Linux版本)
下载完成后通过WinSCP传输至服务器
2. 解压
tar -xvf mysql-8.3.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local
- -x选项表示解压缩
- -v选项表示在解压缩时显示详细信息
- -f选项指定要解压缩的文件名
- -C选项指定解压缩后的目标目录。
3. 修改配置
cd /usr/local/
#修改文件名
mv mysql-8.3.0-linux-glibc2.28-x86_64 mysql
...
4. 启动服务
[root@iZ2zefyktv92zomf8sbocfZ mysql] cd /usr/local/mysql/support-files
# 启动
[root@iZ2zefyktv92zomf8sbocfZ support-files] ./mysql.server start
另一种方法Docker
#获取 MySQL Docker 镜像:
docker pull mysql:8.0
# 创建 MySQL 容器
docker run --name mysql-container -dp 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
# 进入容器内部
docker exec -it mysql-container mysql -u root -p
docker run 用于创建指定镜像和启动新的容器实例,
而 docker exec -it 用于在已经运行的容器内执行命令。
导入本地sql文件(或者本地连接再导入)
由于容器是独立的, 在容器内部找不到本地路径所以采用以下方法:
# 1将sql文件复制到 MySQL 容器内部:
docker cp /root/reso/car.sql mysql-container:/car.sql
#将 car.sql 文件复制到名为 mysql-docker 的 MySQL 容器内部的根目录。
# 2. 进入 MySQL 容器
docker exec -it mysql-container bash
#3.在容器内部执行以下命令:
mysql -u root -p vehicle_system < /car.sql
本地连接成功
部署后端
1. 在项目根目录中创建Dockerfile文件写入
#Dockerfile
# 运行时环境的基础镜像
FROM openjdk:17-jdk
ENTRYPOINT ["java", "-jar", "/app.jar"]
#暴露
EXPOSE 8081
ARG JAR_FILE
COPY vehicle.jar app.jar
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone
2. 启动
# 创建镜像
docker build -t springboot .
docker run -p 8081:8081 --name spring-container -d springboot
docker logs spring-container
-blog.csdnimg.cn/direct/fb3c3917ad864ff2aa47d33ba18d5b0b.png)
请求成功!
注意:
- 报错显示java找不到
设置正确的镜像源FROM openjdk:17-jdk
- 报错显示jar找不到
设置正确的路径
部署前端
1. 在项目根目录中创建Dockerfile文件写入
Dockerfile
FROM nginx:alpine
# 将当前目录下的所有文件复制到容器中的 /usr/share/nginx/html 目录
COPY . /usr/share/nginx/html
# 暴露容器的 80 端口
EXPOSE 80
# 容器启动时运行的命令
CMD ["cd /usr/sbin/", "./nginx"]
2. 启动
# 创建镜像
docker build -t react-vehicle .
#创建一个容器并启动,-d后台运行-p(主机端口:容器端口),react-vehicle镜像名
docker run -dp 80:80 react-vehicle
使用openresty启动
1、安装openresty
yum install yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
#安装
yum install openresty
2.安装openresty后
#当前目录为打包后的文件
cp * /usr/local/openresty/nginx/html
#启动
/usr/local/openresty/nginx/sbin/nginx
config文件配置代理
#/usr/local/openresty/nginx/conf/nginx.conf
#配置代理
location /api/ {
proxy_pass http://121.41.123.xx:8081/;
}
location /uploads/ {
proxy_pass http://121.41.123.xx:8081;
}
location / {
#根据自己的路径
root /usr/local/openresty/nginx/html;
index index.html index.htm;
}