ubuntu下java前后端分离项目部署

为什么前后端要分离?

1.更好地解耦

2.更好地分工合作,提高研发效率。

3.更好的性能

4.Web开发技术发展的大势所趋。

 

准备工作

1.前端

构建环境:Node(是用来运行js)、Npm(前端的包)、VsCode、Git

运行环境:Chrome、VsCode、Vue

部署环境:Nginx(高性能Web服务器)

2.后端

构建环境:JDK、Maven、Git

运行环境:JRE、Idea、Mysql、Redis:首先修改:vim /etc/redis/redis.conf然后启动:systemctl stop redis,redis-server ../etc/redis.conf,、Tomcat(高性能Web容器,Springboot项目内嵌的)

部署环境:JDK、MySQL、Redis、Tomcat


部署

首先还是要做到本地能够启动并且正常运行

前端部署

本地准备阶段

1.构建生产环境,得到打包后产物:dist

npm run build:prod

2.使用git压缩前端资源包

tar -zvcf dis.tar.gz dist/

服务器:

1.拷贝到准备好用来部署的服务器的指定目录

2.解压到当前目录

tar xzf dist.tar.gz

3.对nginx进行配置:vim /etc/nginx/sites-enabled/default

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # SSL configuration
        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;

        root /usr/local/project/dist;#前端打包的位置

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;

       location  ^~ /prod-api/ {
         proxy_pass http://192.168.117.132:8082/;
         proxy_send_timeout 1800;
         proxy_read_timeout 1800;
         proxy_connect_timeout 1800;
         client_max_body_size 2048m;
         proxy_http_version 1.1;
        }

3.启动nginx

如果启动不成功可以用:pkill -9 nginx

 /usr/sbin/nginx -c /etc/nginx/nginx.conf

4.访问

 

后端部署

本地准备阶段:

使用Maven打包构建

服务器:

1.  拷贝jar 或者war到准备好用来部署服务器(需要JDK环境)的指定目录

 

2.启动项目

3.访问

 

总结

后续更新前后端分离,后端集群版部署还有微服务分布式部署和微服务集群版部署还有docker容器化部署。

当然,我可以为您提供一个详细教程来帮助您部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。 首先,确保您已经完成以下准备工作: - 注册一个云服务提供商的账号,并创建一个云服务器实例。 - 在本地环境中安装了Docker,并熟悉Docker的基本操作。 - 本地已经安装了Node.js和npm,以及Vue CLI和Java开发环境。 以下是详细的步骤: 1. 登录到云服务器: 使用SSH工具连接到您的云服务器。例如,使用命令行工具执行以下命令: ``` ssh username@server_ip_address ``` 2. 安装Docker: 根据您的云服务器的操作系统,选择对应的安装方式进行Docker安装。以下是一些常见操作系统的安装命令: - Ubuntu: ``` sudo apt-get update sudo apt-get install docker.io ``` - CentOS: ``` sudo yum update sudo yum install docker ``` 3. 验证Docker安装是否成功: 执行以下命令来验证Docker是否已经成功安装: ``` docker version ``` 4. 构建Vue项目: 在本地开发环境中,使用Vue CLI创建Vue项目,并进行开发和测试。确保项目可以正常运行。 ``` vue create myproject cd myproject npm run serve ``` 5. 打包Vue项目: 在Vue项目根目录下执行以下命令,将Vue项目打包成静态文件。 ``` npm run build ``` 6. 创建SpringBoot项目: 使用Spring Initializr创建SpringBoot项目,并进行开发和测试。确保项目可以正常运行。 - 访问Spring Initializr网站:https://start.spring.io/ - 选择项目的基本设置,如使用的编程语言、构建工具、Spring Boot版本等。 - 添加所需的依赖项,如Spring Web、Spring Data JPA等。 - 点击"Generate"按钮下载生成的SpringBoot项目压缩包。 - 解压缩项目压缩包,并使用您喜欢的集成开发环境(IDE)打开项目。 7. 创建Dockerfile: 在SpringBoot项目的根目录下创建一个名为`Dockerfile`的文件,用于定义Docker镜像的构建步骤。在`Dockerfile`中添加以下内容: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/myproject.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] ``` 8. 构建Docker镜像: 在SpringBoot项目的根目录下执行以下命令,构建Docker镜像: ``` docker build -t myproject . ``` 9. 运行Docker容器: 执行以下命令,在Docker中运行SpringBoot项目的Docker容器: ``` docker run -d -p 80:8080 myproject ``` 10. 访问应用: 使用浏览器访问您的云服务器的公网IP地址,即可查看部署好的前后端分离项目。 希望这个详细教程能够帮助您成功部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。如果您有任何问题,请随时提问!
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值