0
点赞
收藏
分享

微信扫一扫

在linux上部署vue+springboot前后端分离的网站

前端用vue来实现,后端用springboot来实现,web服务器则选用nginx。因为自己的网站涉及数据库,所以还需要安装数据库服务。

一、服务器

服务器方面使用的是阿里云的轻量应用服务器2核2GB内存、系统盘60GB、linux的版本是Red Hat的CentOS 7.6。网上有说法是7.6比较经典,并且CentOS 8.x版本年底会停止更新和维护,所以就选择了7.6版本。

二、Vue项目的打包

在要打包的vue项目所在的文件夹运行终端使用npm run build,就会在文件夹下生成dist文件夹。这个命令会将vue项目的所有代码转换为css、js和html格式,以便能在大部分的浏览器上运行。只要将这个dist文件夹放到http服务器上就能够运行了。
在这里插入图片描述

三、springboot项目的打包

  1. 首先在pom.xml文件中导入SpringBoot的maven依赖:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.6.2</version>
            </plugin>
        </plugins>
    </build>
    

在这里插入图片描述

  1. 使用mvn package命令将springboot项目打包,这个命令会在项目的target目录下生成一个jar包。使用idea写springboot项目的话,可以如图所示操作:
 ![<img src="C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20220126161543634.png" alt="image-20220126161543634" style="zoom: 50%;" />](https://img-blog.csdnimg.cn/2262df62349d411ab051c47c95e155a1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAa3Vyb2Rhc2Vuc2U=,size_18,color_FFFFFF,t_70,g_se,x_16)


这是`package`后target文件夹中的内容,其中红框的jar文件就是这个springboot项目,因为它里面内置了tomcat的依赖包,所以只需要在终端执行`java -jar (你的sprigboot项目jar包的名字)`就能运行了。

四、linux上部署nginx

vue项目构建完成后的dist文件夹必须要放到一个web服务器上才能运行,所以这里使用nginx作为web服务器。nginx是一个高性能的web服务器,并且它支持反向代理、占有内存少、并发能力强,而且很轻量。无论是在windows上部署还是linux上部署都非常简易和方便。

  1. 访问nginx官网https://nginx.org/en/,在右边找到download进入下载页面

  2. 下载页面提供三种nginx版本,Mainline version是指目前正在开发的开发版,Stable version是指最新稳定版,Legacy versions是指老版本的nginx。显然我们应该选择最新的稳定版本。

    因为是运行在linux上,所以选择linux的版本,也即红框的版本。

  3. 下载完成后,我们得到的是tar文件,可以使用WinSCP来访问阿里云的服务器,将nginx放到里面去。

  4. 接着我们可以用Xshell 5来访问阿里云服务器,cd到你放nginx的tar包的文件夹,运行tar -xvf (你的nginx的tar包名字)进行解压。

  5. 然后cd /usr/local/swebserver/nginx/conf去到放nginx配置文件的文件夹,执行vim nginx.conf修改一下配置。其实如果求方便的话,我们可以用WinSCP来进行这些操作。

  6. 打开nginx.conf文件后,找到http块里面的server块,如图所示:

  7. 接下来修改一下server的内容(带#号的都是注解),按以下的内容修改就行了:

    server {
    listen 8080; # 这个是设置web服务器的端口号
    server_name 8.134.217.191; # 这个是设置web服务器的ip地址,这里要填写你服务器的ip地址
    root /dist;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {
    root /dist; # 这个是设置你dist文件夹的位置。我的dist文件夹因为放在了根目录下,所以就写成/dist
    try_files $uri $uri/ /index.html @router;
    index index.html index.htm;
    # 上面两个照抄,@router是为了引用下面的转发,因为vue中的路由并不是接口,而是网页跳转,所以需要特别写出。
    }
    location @router{
    rewrite ^.*$ /index.html last; # 这段的意思是将所有的路由请求重写到index.html中,将路由请求交给vue的路由进行处理。
    }
    #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;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    # proxy_pass http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    # root html;
    # fastcgi_pass 127.0.0.1:9000;
    # fastcgi_index index.php;
    # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    # include fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    # deny all;
    #}
    }

  8. 执行/usr/local/swebserver/nginx/sbin/nginx 就打开nginx服务了。

五、linux上部署mysql

在部署运行springboot之前,还需要安装数据库服务才能让springboot的项目正常运行,因为我使用的是mysql,所以就部署mysql服务。

  1. 打开https://dev.mysql.com/downloads/,选择MySQL Yum Repository:

  2. 因为我们linux的版本是CentOS 7.6,所以我们选择红框的版本:

  3. 点击下载,会跳转页面,我们选择No thanks, just start my download:

  4. 下载完成后,使用WinSCP将文件放到服务器上,接着在XShell 5上执行yum localinstall mysql80-community-release-el7-5.noarch.rpm,安装过程中如果需要确认的话就一路确认。

  5. 安装完毕后执行yum install mysql-community-server

  6. 安装完毕,启动MySQL服务:service mysqld start。执行命令后,可以使用ps -ef | grep mysql来查看mysql是否启动成功。

  7. 修改mysql的root密码。先执行grep 'temporary password' /var/log/mysqld.log查看临时密码;然后复制临时密码,登录mysql:mysql -uroot -p(临时密码);因为是mysql8.0,所以执行set global validate_password.policy=0;set global validate_password.length=1;,此目的是降低密码的检验规则,方便修改密码。最后执行ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';就成功修改密码了。

  8. 修改密码后,刷新一下权限flush privileges。可以quit;退出登录,再用新密码进行登录检验下新密码。

六、linux上安装jdk

  1. 打开https://www.oracle.com/technetwork/java/javase找到Download,进入下载页面:

  2. 因为是CentOS 7.6,所以选择x64 Compressed Archive版本,高版本的jdk都会对低版本兼容的,所以直接下官方推荐的最新版就行了:

  3. 下载完毕后,用WinSCP放入服务器中,然后解压:tar zxvf (jdk的tar包名字)

  4. 接着配置环境变量,这里使用vim /etc/profile来配置,也可以用WinSCP找到/etc/profile在后面直接配置:

    export JAVA_HOME=/root/jdk-17.0.2 # 设置为解压缩后的jdk文件夹路径
    export PATH=$JAVA_HOME/bin:$PATH

    如果是vim下的话,按esc,然后输入:wq保存退出。

  5. 然后执行source /etc/profile使配置文件生效。

  6. 最后执行java -version查看是否显示出版本,如果显示出版本就是配置成功了。

七、linux上运行springboot项目

将下图的jar包放入服务器中,然后执行java -jar (jar包名字)就能运行该项目了。如果需要后台运行,则执行nohup java -jar (jar包名字) &就可以了。

举报

相关推荐

0 条评论