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

news/2024/5/20 15:47:46/文章来源:https://blog.csdn.net/kurodasense/article/details/122706932

前端用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文件夹因为放在了根目录下,所以就写成/disttry_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包名字) &就可以了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_871675.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Struts,MVC 的一种开放源码实现用这种servlet和JSP框架管理复杂的大型网站

简介小学生也可以在因特网上发布 HTML 网页。但是&#xff0c;小学生的网页和专业开发的网站有质的区别。网页设计人员&#xff08;或者 HTML 开发人员&#xff09;必须理解颜色、用户、生产流程、网页布局、浏览器兼容性、图像创建和 JavaScript 等等。设计漂亮的网站需要做大…

其实了解这个手段企业网站是可以上首页的

对于企业网站来说&#xff0c;搜索引擎首页的自然搜索结果只有10个位置&#xff0c;那企业网站该如何去超越已经排在首页的其他企业网站呢?今天懒猫就免费为个企业公司做一点简单的介绍&#xff0c;希望能帮助到大家。 从搜索引擎的工作原理来说&#xff0c;其展示的结果主要是…

网站百度快照不更新原因大全

最近自己的网站http://bbs.816go.com做了关键字的修改&#xff0c;百度快照一直没有更新&#xff0c;通过搜索总结以下情况。 每个被收录的网页&#xff0c;在百度上都存有一个纯文本的备份&#xff0c;称为“百度快照”。 在SEO当中&#xff0c;快照有着重要的作用&#xff0c…

百度快照批量举报工具_批量举报违规网站

一、百度批量举报违规网站接口说明 ​ 百度批量举报网站工具 百度现有的多个接口可以投诉反馈&#xff0c;今天我们要说的程序是百度的违规网站的举报工具&#xff0c;灰黑的信息经常影响我们的搜索访问体验&#xff0c;因此赠人玫瑰手留余香的顺手举报行为离不开我们的批量举…

百度网站sitemap地图批量添加软件介绍

(趣.快.排.S.E.O.发.布.软.件) 一、百度网站地图sitemap批量提交 百度站长有手动提交sitemap的页面&#xff0c;如果是单站当然可以手动提交&#xff0c;手动添加百度sitemap地图操作流程&#xff1a; 1、登录百度站长平台 2、搜索服务>普通收录>资源提交>sitemap…

百度网站抓取诊断自动提交工具

一、百度网站抓取诊断 百度站长如何抓取诊断网站&#xff1f; 具体操作流程&#xff1a; 1、登录百度站长平台 2、搜索服务>抓取诊断&#xff08;可以根据pc端和mobile端的百度蜘蛛进行选择抓取进行提交&#xff09; 3、输入网站的某url后缀即可提交 4、等待若干秒钟即可看…

[ZZ]VBOX穿过主机访问虚拟机中的网站

原文链接&#xff1a;http://ce.sysu.edu.cn/hope/Education/ShowArticle.asp?ArticleID7556 最近大家开始搭上我们这个学期的关键——Siteweaver&#xff0c;为了这个东西大家无所不用其极&#xff0c;有人换系统&#xff0c;有人开始学习用虚拟机。用虚拟机的同学会发现&am…

一个完全免费的在线文字云网站

果然只有老外有这个情怀&#xff0c;做这个事情&#xff0c; 在线文字云&#xff08;不支持中文&#xff09; Edit word art - WordArt.com 可以支持选择多种内嵌的文字云外观格式 Click Visulize WordArt是一个文字云生成网站&#xff0c;称为文字云图&#xff0c;又称为词云…

大数据下的旅游网站:Hopper为你推荐最爱的景点

据TechCrunch报道&#xff0c;秘密开发了5年的旅游网站Hopper近日宣布完成B轮融资谈判&#xff0c;获得1200万美元投资。投资方位OMERS Ventures、Brightspark Ventures。到目前为止&#xff0c;Hopper总计融资2200万美元 公司CEO拉隆德将Hopper比做是旅游“发现推荐引擎”。乍…

seo 相关记录 谷歌统计

seo 优化 seo 优化是未来更好的给爬虫收入&#xff0c;以便提高排名和权重。除了加 <meta name"Keywords" content"**,**,********"> <meta name"Description" content"**,**,********">还可以加一段代码javascript 代码…

django+vue+nginx+frp搭建漫画网站之移动PC端自动切换(一)

djangovuenginxfrp搭建漫画网站之移动PC端自动切换&#xff08;一&#xff09; 地址&#xff1a;http://www.iewoai.com/ 1、背景 漫画网站电脑端项目目前是用django模板语言构建的&#xff0c;而手机端是使用vue写的。当想实现移动PC自动切换时&#xff0c;其中一个办法就是通…

django+vue+nginx+frp搭建漫画网站之获取访客真实ip(二)

地址&#xff1a;http://www.iewoai.com/ 1、背景 最近听室友说&#xff0c;他网站有监控访客的ip&#xff0c;并通过钉钉通知的服务。于是我在想&#xff0c;我为什么不给漫画网站加这个服务呢&#xff0c;说整就整&#xff0c;首先得获取到真实ip。 2、问题 网站是部署在内…

django+vue+nginx+frp搭建漫画网站之接入谷歌统计和百度统计(三)

地址&#xff1a;http://www.iewoai.com/ 1、背景 书接上文&#xff0c;打算监控网站的流量等访问情况&#xff0c;一开始打算用matomo&#xff0c;但是看了视频后发现直接接入谷歌统计和百度统计是一种更方便省事的手段。&#xff08;那我还获取个锤子的访客真实ip&#xff0…

django+vue+nginx+frp搭建漫画网站之爬虫部分新增站点漫画狂cartoonmad(四)

地址&#xff1a;http://www.iewoai.com/ 1、背景 看了下记录&#xff0c;已经有一个月没有新增爬虫站点了&#xff0c;懈怠了懈怠了/抱头。 这次要整的网站是http://www.cartoonmad.com&#xff0c;漫画数目不多&#xff0c;在一万以下&#xff0c;属于比较简单的网站。貌似是…

程序员必去的网站,看看你知道几个!

一、CSDN 是国内最大的的IT服务平台之一&#xff0c;小编也是常常去的一个网站&#xff0c;CSDN主要能够满足程序员在职业生涯中学习以及共享知识&#xff0c;和有价值的信息、建立职业发展社交圈。&#xff08;你不可不知道&#xff01;&#xff09;网址&#xff1a;https://…

半小时 宝塔搭建一个部署SSL证书 配置伪静态实现301跳转HTTPS的网站

这篇接30分钟阿里云ECS云服务器安装宝塔 图文跳坑指南&#xff0c;一直拖了这么久。上面只是给云服务器安装宝塔环境。本篇将实现搭建网站、添加证书、自动301跳转顶级域名、配置伪静态。感谢上篇朋友评论中指出的问题&#xff0c;因为平时用国外服务器较多&#xff0c;“其他”…

【2019】宝塔网站安全加固及优化技巧

安全加固是网站永恒的话题。我使用第三方容器宝塔的原因之一也是怕隔三差五的处理这些破问题。会写几行代码不代表有时间和精力针对这些问题。所以选择一劳永逸&#xff0c;将大部分问题交给专业的人。 虽然使用宝塔已经解决很多问题&#xff0c;但自己能做安全优化的地方还有…

2019 Google Adsense 申请 两个月内审核通过两个网站复盘

上周只是刚好在 Adsense 后台&#xff0c;就顺手申请审核&#xff0c;没想到通过了&#xff0c;前面申请了好几次都没通过。所以突然有点小惊喜。 距离上个网站通过 Google Adsense有一段时间了&#xff0c;上次是有意做一些能提高通过率的操作&#xff0c;这次博客通过啥技巧…

2019 宝塔十分钟迁移网站 预览一遍流程

因为网站服务器要到期了&#xff0c;也懒的续费&#xff0c;准备将网站迁移到其他服务器&#xff0c;开始不知道宝塔提供了此功能&#xff0c;手动将数据库备份导出&#xff0c;然后网站整站打包下载上传&#xff0c;结果 失败了&#xff01;&#xff01;&#xff01;后面才了解…

【案例】搭建 Quizzes 网站,每天赚取 30-50 美元

在 Blackhatworld 看到的一个案例&#xff0c;作者一共分享两篇相关内容&#xff0c;通过搭建 Quizzes 网站 赚取广告费。据分享&#xff0c;通过 Adsense 广告每天可以赚取 $20-$50 &#xff08;原文链接在最后&#xff09;&#xff0c;同时作者说方法可批量做。 两篇文章和评…