若依配置教程(九)若依前后端分离版部署到服务器Nginx(Windows版)

搭建若依环境

要部署到服务器上,首先要在本地运行若依系统



后端部署

1.在application.yml中修改后台端口,这里默认是8080。

在这里插入图片描述

2.在application-druid.yml中修改正式环境数据库。

在这里插入图片描述

3.后端打包部署

     打开右侧的Maven,点击:生命周期->package,然后点击运行,等待打包成功,包在如图所示的文件夹中。然后将打包好的jar包(ruoyi-admin.jar),传到服务器的一个文件夹中,记住地址,后期需要jar包运行后端

在这里插入图片描述
在这里插入图片描述
     首先启动redis,然后使用命令行,进入ruoyi-admin.jar文件所在的位置,输入命令行:java –jar ruoyi.jar。此时后端启动,出现如下图所示,若依后台运行成功:
在这里插入图片描述
在这里插入图片描述


前端部署

    打开前端项目的vue.config.js文件,检查devServer下的proxy代理部分,然后将下面这个端口修改为你要在打包后访问的端口,即使用nginx代理前的接口。这个端口默认是80端口,这里把其修改为不会冲突的70端口,不推荐使用80端口。
    因为80端口是默认端口在部署到服务器上和下面启动nginx可能存在占用等问题。
    除了这个70端口外,下面的target的url和端口要和你服务器上能访问到后台的接口一致。

在这里插入图片描述


    接下来将前端打包。首先打包之前确保已经安装完依赖项,即:npm install 成功且没问题。在终端中,进入到ruoyi-ui目录,输入命令行:npm run build:prod。
在这里插入图片描述

    等待一段时间打包成功,此时在ruoyi-ui文件夹下生成dist目录。此目录就是打包之后的前端的资源。然后将此dist目录放在服务器上的某个目录下,下面使用Nginx代理会用。
在这里插入图片描述
不要动dist下文件的路径
在这里插入图片描述


下载安装Nginx

Nginx下载地址:Nginx下载,选择相应版本的Windows版本
在这里插入图片描述
下载后解压压缩包到服务器的某一个目录下,
在这里插入图片描述

Nginx代理配置

进入到conf目录下,编辑配置文件nginx.conf
在这里插入图片描述
找到server节点
在这里插入图片描述
    首先这里的listen下的端口就是代理前的接口,要与前面前端项目的vue.config.js中的端口一致。

    然后下面的server_name是你服务器的ip,这里即使是使用的本地也建议不要用localhost,避免修改hosts文件导致的问题。下面的两个配置保持默认不要更改,配置的是防止404和入口页面。

server {
    listen       70;
    server_name  10.118.2.142;

    location / {
        root   C:\Users\Administrator\Desktop\dist;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }

然后再下面的location /prod-api/ 就是配置的代理后的地址。

location /prod-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://localhost:8080/;
}

这里的 /prod-api/就是跟前面前端项目设置代理的路径重写一致。
附上完整的代码:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       70;
        server_name  10.118.2.142;
		charset utf-8;

   location / {
            root   C:\Users\Administrator\Desktop\software\apache-tomcat-10.0.27-windows-x64\apache-tomcat-10.0.27\webapps\dist;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		
		location /prod-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://localhost:8080/;
		}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

启动Nginx

进入到Nginx文件夹目录下,用命令行输入:start nginx.exe,启动Nginx,窗口会一闪而过
在这里插入图片描述
如果对Nginx配置文件进行修改的话,需要重新加载:nginx -s reload
打开任务管理器,查看Nginx是否开启。
在这里插入图片描述
启动Nginx成功后打开浏览器验证,输入(服务器ip:70):例如:http://10.229.36.158:70/
启动成功!
在这里插入图片描述

参考博客

  • 32
    点赞
  • 149
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论
### 回答1: Vue前后端分离项目中,前端使用 Nginx 部署,后端接口使用 Nginx 反向代理时,要让搜索引擎抓取到页面,需要进行以下步骤: 1. 配置 Nginx:在 Nginx 配置文件中配置前端页面的路径,使得搜索引擎可以访问到页面。 2. 实现前后端路由同构:前端路由和后端路由要能匹配上,这样搜索引擎才能抓取到页面。 3. 使用 prerender 或者 SSR:使用 prerender 或者 SSR 技术,可以让搜索引擎抓取到静态页面。 4. 生成 sitemap:生成 sitemap 文件,并在 robots.txt 中指定 sitemap 文件位置,这样搜索引擎就能知道网站上所有可以抓取的页面。 5. 提交网站地图:把网站提交到百度站长平台,谷歌搜索控制台等网站,这样搜索引擎就能知道你的网站。 具体实现可以参考相关教程和文章. ### 回答2: 要让搜索引擎抓取前后端分离项目的页面,可以采取以下步骤和方法: 1. 确保前端服务器配置正确:在前端服务器(使用Nginx)上,确保已正确配置服务器块(server block)以及对应的域名和端口监听。 2. 配置前端服务器的robots.txt文件:创建一个名为robots.txt的文件,并将其放在前端服务器的根目录下。在该文件中,可以使用"Disallow"或"Allow"指令来指定搜索引擎可访问的页面或目录。例如,可以使用"Allow: /"指令来允许搜索引擎访问整个网站。 3. 使用HTML5的history模式:Vue.js通常使用HTML5的history模式来进行路由处理。确保在前端项目中启用history模式,以便搜索引擎可以正确解析URL路径。 4. 配置后端服务器nginx反向代理:在后端服务器(也使用Nginx)上,配置反向代理,将前端请求转发到前端服务器上。可以通过配置nginx的location指令来实现。例如,可以使用以下配置将所有/api开头的请求代理到前端服务器: ``` location /api { proxy_pass http://frontend_server; } ``` 5. 配置后端服务器的robots.txt文件:如果后端服务器上也存在robots.txt文件,确保其中未包含任何"Disallow"指令,以允许搜索引擎访问后端接口。 6. 添加SEO相关的meta标签:在前端项目中的HTML模板中,添加一些与SEO相关的meta标签,如title、description和keywords等,以提供关键信息给搜索引擎。 7. 提交网站地图:在前后端分离项目中,可以创建一个sitemap.xml文件,其中包含所有页面的URL,然后将其提交给搜索引擎。这样,搜索引擎可以更快地发现和抓取网站的内容。 8. 特别注意SPA的处理:由于前后端分离项目大多使用单页应用(SPA),搜索引擎可能无法正确抓取到页面内容。可以使用服务端渲染(SSR)或预渲染(Prerendering)等技术来解决这个问题,将页面的静态HTML内容提供给搜索引擎。 通过以上步骤,可以使搜索引擎正确抓取前后端分离项目的页面。特别要注意SPA的处理和合理配置robots.txt文件,以确保搜索引擎能够顺利地访问和索引网站内容。 ### 回答3: 为了使搜索引擎能够抓取到前后端分离项目中的页面,以下是一些详细的步骤和教程: 1. 后端接口使用的nginx反向代理配置: - 在nginx配置文件中添加反向代理配置,将后端接口的请求转发到相应的后端服务器。 - 例如,将前端的请求 `api.example.com` 反向代理到后端的 `backend.example.com`: ``` server { listen 80; server_name api.example.com; location / { proxy_pass http://backend.example.com; } } ``` 2. 前端使用的nginx部署配置: - 在nginx配置文件中添加前端部署配置,用于将前端页面正确地提供给用户和搜索引擎。 - 例如,将前端的静态页面部署在 `www.example.com`: ``` server { listen 80; server_name www.example.com; root /path/to/frontend/dist; index index.html; location / { try_files $uri $uri/ /index.html; } } ``` 3. 使用服务端渲染(SSR): - 将前端界面的渲染逻辑从客户端转移到服务器端,使搜索引擎能够获取到完整的HTML页面。 - 可以使用框架或库,如Nuxt.js(基于Vue.js)或Next.js(基于React),来实现服务端渲染。 - 这些框架将提供相应的教程和示例,帮助你进行SSR的设置和部署。 4. 设置合适的元数据(metadata): - 使用HTML的 `<meta>` 标签和Open Graph Protocol等技术来提供页面的元数据,例如标题、描述和关键词等。 - 这有助于搜索引擎了解页面内容,并正确地进行索引和排名。 5. 使用XML Sitemap: - 创建一个XML Sitemap文件,包含所有可供搜索引擎抓取的页面的链接。 - 将该文件提交给搜索引擎,以指导它们正确地抓取和索引网站的内容。 综上所述,通过以上的配置和操作,可以使搜索引擎能够抓取到前后端分离项目中的页面内容,从而提高网站在搜索引擎中的可见性和排名。请根据具体情况和需求,进行相应的配置和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Founless

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值