微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

前后端分离项目部署腾讯云轻量级服务器

前后端分离项目部署腾讯云轻量级服务器

摘要:前端为Vue,利用nodejs打包(npm run build)出dist文件,然后利用Nginx代理,并和后端建立关联,后端为SpringBoot项目,利用IDEA打包成jar包

Xshell7 教育版

链接:https://pan.baidu.com/s/11xeSNWU7S4D8Tg_s71wKvg
提取码:zlls

Xftp7 教育版

链接:https://pan.baidu.com/s/1rHzjpj_lik1R-AFjEWaCrQ
提取码:gyi0

获取root权限

如遇到permission denied, mkdir,说明没有权限,输入下列命令后再执行上面打包操作

sudo npm i --unsafe-perm

https://blog.csdn.net/qq_31325079/article/details/102565223

Vue项目打包

为什么打包?

​ 首先VUE 是一个javascript的前端框架,注定了它是运行在浏览器里的,对服务器本地没有任何要求,只要一个静态文件服务器能通过http访问到其资源文件就足矣!无论你是用apache ,ngnix 就算你要用node 自己实现一个静态文件服务器,也用不了多少行代码

​ npm run dev 是用来在本地开发的时候做调试用的,vue开发的是前端的东西,不是nodejs 服务端程序,按道理讲,生产环境里就不该存在npm,甚至nodejs也不需要(用nodejs来做web静态服务的除外),正确的做法很简单,通过npm run build 把生成dist文件夹(不要上传文件夹)里的内容上传到http服务器上就可以通过 http来访问了https://www.cnblogs.com/ustc-anmin/p/10779130.html

linux上安装nodejs

https://blog.csdn.net/shenxianhui1995/article/details/103853632

Vue项目打包操作

在Vue项目根目录下

npm install --unsafe-perm --registry=https://registry.npm.taobao.org
npm run build

打包成功后

在根目录下多出dist文件

Nginx常规命令

安装

https://www.cnblogs.com/xxoome/p/5866475.html

安装后的认目录

/usr/local/Nginx

查看Nginx是否启动

ps -ef | grep Nginx

Nginx的配置路径

(注意:修改完conf目录下的Nginx.conf一定要重启才能生效)

/usr/local/Nginx/conf/Nginx.conf

重启Nginx

/usr/local/Nginx/sbin/Nginx -s reload

将打包得到的dist文件配置在Nginx上,并映射后端

配置Nginx的conf目录下Nginx.conf文件,覆盖里面的server内容

server {
#端口号,一般不用改
		listen 80;
#配置的域名,也不用改
		server_name localhost;
		
		location / {		  
#项目在服务器部署的位置,需要修改root下的目录,路径为打包的dist文件夹下(不包含dist文件夹)的两个文件的目录,即该目录下有index.html和static文件夹
		  root   /data/dist;
		  index index.html index.htm;
		  client_max_body_size 300m;
		}
		
#需要修改最后一条,改成自己后端部署的ip地址和端口
		location /api/ {
            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;
            proxy_pass http://xx.xx.xx.xx:xx/;
            # 如proxy_pass http://192.168.001.100:8080/;
        }
}  

(注意:修改完conf目录下的Nginx.conf一定要重启才能生效)

Vue项目打包后,部署在服务器,访问页面出现空白一片

将打包生成dist文件夹, 放在服务器中, 浏览器访问, 发现访问成功,但是页面是空白的,怎么办呢?

解决办法:找到Vue项目目录config/index.js文件,将assetPublicPath的路径改为“./”即可,

https://blog.csdn.net/mawei7510/article/details/103781790

Vue项目部署成功后,请求不到后端api接口

Nginx的conf文件里的server添加

#需要修改第一条转发的路径/api/和最后一条转发后的路径,改成自己后端部署的ip地址和端口
		location /api/ {
            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;
            proxy_pass http://xx.xx.xx.xx:xx/;
            # 如proxy_pass http://192.168.001.100:8080/;
        }

原因:通过浏览器的检查工具查看前端请求后端的URL发现为

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TKGkBlEM-1644328318193)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220208203056105.png)]

发现每次请求都有/api/的请求段,利用Nginx进行转发

端口被占用

netstat -anp | grep 80

kill -9 进程id

后端启动

执行jar包

cd /data/app/exam/

启动java项目(jar包)以下任选一条

下面这条好处是退出后仍在后台挂着,适合后面调的差不多了变动不大的时候用
nohup java -jar ruoyi-admin.jar &

如果上面那条出现无法写入日志的情形,可选下面
nohup java -jar ruoyi-admin.jar > /dev/null 2> /dev/null

如果还需要调试可以直接用下面这条,直接就可以在窗口看输入的日志,启动后可以按ctrl+z退出
java -jar ruoyi-admin.jar

腾讯云开放端口

firewall-cmd --zone=public --add-port=需要开放的端口/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports

Web防火墙也要开放

数据库MysqL

https://blog.csdn.net/qq_44037091/article/details/122507194?spm=1001.2014.3001.5502

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐