阿里云服务器
具体操作如下:
可以利用FinalShell或者MobaXterm来远程连接阿里云服务器
nginx服务部署(前端)
首先使用docker拉取nginx镜像源
docker pull nginx
然后将前端文件(vue)使用
npm run build
打包成一个dist文件夹,上传至虚拟机,具体路径如下:
nginx配置文件 nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http { #前端代理
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8093; #监听的端口号
location / {
root /usr/share/nginx/project1/dist; #对应服务器中的文件路;
#此处我使用的是docker部署,所以对应docker容器中的文件路径(挂载服务器中的文件)
index index.html;
try_files $uri $uri/ /index.html; # 支持 Vue 的前端路由
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
#配置后端代理
location /user/ { # 匹配以 /user/ 开头的请求
proxy_pass http://127.0.0.1:8095/; # 代理到后端服务,注意将IP地址改为你的服务器地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 8094;
location / {
root /usr/share/nginx/project2/dist;
index index.html;
try_files $uri $uri/ /index.html; # 支持 Vue 的前端路由
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location /admin/ { # 匹配以 /admin/ 开头的请求
proxy_pass http://127.0.0.1:8095/; # 代理到后端服务
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
上传完成后,运行
docker run -d \
--name nginx \
-p 8093:8093 \
-p 8094:8094 \
-v /root/nginx/project1/dist:/usr/share/nginx/project1/dist \
-v /root/nginx/project2/dist:/usr/share/nginx/project2/dist \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
--network srtp1 \
nginx
-d: 后台运行
-p: 代理端口号
-v :挂载项目和配置文件
--network:部署到同一网络(创建网络:docker network create yournetwork)
MySQL服务部署(数据库)
还是先拉取镜像文件
docker pull mysql
然后运行容器
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
-v /root/mysql/data:/var/lib/mysql \
-v /root/mysql/conf:/etc/mysql/conf.d \
--network srtp1\
mysql
-v /root/mysql/data:/var/lib/mysql \ :挂载数据卷->将来数据库在服务器存储数据的位置
-v /root/mysql/conf:/etc/mysql/conf.d \ :挂载配置文件
如图所示:
然后可以使用可视化工具,例如Sqlyog/Navicat等连接服务器数据库,将准备好的数据导入mysql中,或者也可以通过 docker exec -it mysql bash进入容器内部,然后使用 mysql -u root -p ,输入密码后连接数据库进行操作
jar包部署(后端服务器)
首先将你的项目通过maven/gradle打包,示例(maven):
将jar包上传到服务器
然后可以构建一个Dockerfile文件,用来构建对应的Java项目镜像
Dockerfile文件配置参数如下:
# 基础镜像
FROM openjdk:11.0-jre-buster
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY haust-server.jar /srtp.jar
# 入口
ENTRYPOINT ["java", "-jar", "/srtp.jar"]
然后通过命令
docker build -t srtp1 .
构建Java项目镜像,注意 命令中的 . 代表在当前目录下
继续部署容器,命令如下:
docker run -d -p 8095:8095 --name dianchan srtp1 --network srtp1
最后查看容器日志信息
docker logs dianchan
服务器JDK配置
1.首先下载对应服务器系统的jdk压缩包,我是linux系统,所以下载的是linux系统对应的压缩包
2.将压缩包上传到服务器,通过解压命令将其解压到文件夹(这里我的地址是/usr/local/)
tar -zxvf openjdk-17.0.1_linux-x64_bin.tar.gz -C /usr/local/
3. 重命名目录名称(可选择)
mv /usr/local/jdk-17.0.1 /usr/local/jdk17
4.配置环境变量(当前会话(直接输入配置即可),当前用户(~/.bashrc),全部用户(/etc/profile)),我这里配置的是当前用户
vi ~/.bashrc
按i键进入插入模式,插入下面两行代码
export JAVA_HOME=/usr/local/jdk17
export PATH=$JAVA_HOME/bin:$PATH
按esc退出插入模式,输入:wq保存并退出
运行文件生效
source ~/.bashrc
检查配置
echo $JAVA_HOME
java -version
调试运行jar文件
java -jar haust-server.jar
后台永久运行
nohup java -jar your-application.jar