ToB企服应用市场:ToB评测及商务社交产业平台
标题:
云服务器部署Java+Vue前后端分离项目
[打印本页]
作者:
知者何南
时间:
2024-8-15 13:09
标题:
云服务器部署Java+Vue前后端分离项目
1、申请一个云服务器
选择云服务器:阿里云、腾讯云、百度云、京东云、华为云等等,我使用的是阿里云服务器。
2、远程链接服务器
使用FinalShell工具大概其他远程工具,使用SSH链接,主机地点要填写阿里云服务的公网ip,假如链接不上可能需要加快,将智能加快勾选上即可
3、安装软件jdk、mysql、redis、nginx等
(1)下载jdk,并且上传到/usr/local中,然后解压缩
linux版本的jdk链接如下:
链接:https://pan.baidu.com/s/1YDmWQU66iYpnqJ4Wwmcj2w?pwd=vwpl
提取码:vwpl
也可以自己从官网下载(Java Downloads | Oracle 中国)
(2)解压命令 tar -zxf jdk-8u161-linux-x64.tar.gz
(3)配置情况变量
使用vim命令编辑profile文件,假如vim没有下载也可以使用vi命令编辑,但是vi编辑没有样式,在文件末端输入以下内容:
JAVA_HOME=/usr/local/jdk1.8.0_161
JRE_HOME=/usr/local/jdk1.8.0_161/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
复制代码
然后生存退出,命令是 :wq 表示生存退出
(4)验证是否配置成功
java -version ,出现下面内容表示jdk安装并配置成功
4、docker安装(通过docker compose安装mysql、redis、nginx)
1、假如已经安装,可以先删除
# 列出已安装的docker包
yum list installed|grep docker
# 如果有,就卸载
yum -y remove docker-ce
复制代码
2、安装yum-utils管理yum源
yum install -y yum-utils
复制代码
3、设置docker源
# 配置国内镜像速度快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
复制代码
4、设置元数据缓存
yum makecache fast
复制代码
5、安装、启动docker
#安装docker
yum -y install docker-ce
#启动docker
systemctl start docker
#启动docker前,关闭防火墙 ,否则可能会启动失败
#关闭防火墙命令
systemctl stop firewalld.service
复制代码
5、docker compose
我用的docker版本已经包含了docker compose,假如版本较可能需要下载compose
在/root下创建docker-compose.yml文件
#创建空文件
touch docker-compose.yml
复制代码
然后在文件中添加配置,最好将文件导出后编辑,使用vi不太好编辑文件
version: '3.1'
services:
mysql: # 服务的名称
restart: always # 代表只要docker启动,那么这个容器就跟着一起启动
image: daocloud.io/library/mysql:5.7.30 # 指定镜像路径
container_name: mymysql # 指定容器名称
ports:
- 3306:3306 # 指定端口号的映射
environment:
MYSQL_ROOT_PASSWORD: 123456 # 指定MySQL的ROOT用户登录密码
TZ: Asia/Shanghai # 指定时区
volumes:
- /root/mysql/data:/var/lib/mysql # 映射数据卷
- /root/mysql/conf/my.cnf:/etc/mysql/my.cnf
redis:
restart: always
image: daocloud.io/library/redis:5.0.7
container_name: myredis
ports:
- 6379:6379
volumes:
- /root/redis/conf/redis.conf:/etc/redis/redis.conf
- /root/redis/data:/data
nginx:
restart: always
image: daocloud.io/library/nginx:latest
container_name: mynginx
ports:
- 80:80
volumes:
- /root/nginx/conf.d:/etc/nginx/conf.d
- /root/nginx/dist:/usr/share/nginx/html
复制代码
留意配置要改成自己的,不要全部复制粘贴
配置好就可以启动了,启动docker compose up -d
docker ps查询进程,可以看到容器已经创建好并运行起来了,后续假如再使用的话,只需实行docker compose start就可以一键全启动了
容器创建好以后建议本地工具毗连此时一下,使用数据库工具毗连云服务的mysql,RedisMeanager工具毗连云服务的redis,假如毗连不上,要检查云服务器安全组的端口是否开放
6、同步数据
将本地的数据库的表导出,并导入mysql云服务器中
7、打包项目并上传
前端记得修改署理的ip地点,运行npm run build:prod,前端会打包成dist文件夹,将dist上传至服务器的/root/nginx/dist下
后端需要修改pom文件,参加打包插件,记得修改配置中的ip,末了再侧边栏的meaven双击package进行打包,会将后端项目打成jar包
打包插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<useUniqueVersions>false</useUniqueVersions>
<classpathPrefix>lib/</classpathPrefix>
<!-- 此处是项目的主类路径--> <mainClass>com.qf.Java2403FemesAdminApplication</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
<finalName>${project.artifactId}</finalName>
</build>
复制代码
8、配置nginx
在主机的/root/nginx/conf.d下创建default.conf文件,编辑该文件
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# 部署到linux使用
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
# 这里表示将包含 /prod-api的请求都转发到 proxy_pass 指定的链接中
# 这个是前端打包时指定的,可以参考.env.development和.env.production文件
location /prod-api/ {
# proxy_set_header允许重新定义或添加字段传递给代理服务器的请求头
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 部署到linux使用(服务器中项目路径和端口)
proxy_pass http://101.200.72.94:8888/;
# 客户端发送请求的请求体的最大值,一般上传文件时,需要设置
client_max_body_size 400m;
client_body_buffer_size 128k;
# 代理服务器相关的一些超时时间
proxy_connect_timeout 1000;
proxy_send_timeout 1000;
proxy_read_timeout 90;
# 代理服务器的缓存的大小
proxy_buffer_size 128k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
复制代码
然后重新加载docker的nginx命令
docker exec mynginx nginx -s reload
复制代码
9、末了启动项目进行访问
后端项目启动,进入/usr/local下,启动项目
nohup java -jar xxx.jar &
复制代码
网页访问测试,直接访问服务器ip即可,假如访问不成功,可能是端口需要在云服务器开放
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4