史上最全springboot+vue部署之nginx( openresty)安装配置自启动

本文详细介绍OpenResty在CentOS 8.2系统上的安装步骤,包括添加仓库、安装软件包、启动服务及配置自启动。同时,文章还提供了处理防火墙和端口配置的解决方案,确保OpenResty服务正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openresty介绍:

Nginx 采用一个 master 进程管理多个 worker 进程(master-worker)模式,基本的事件处理都在 woker 中,master 负责一些全局初始化,以及对 worker 的管理。在OpenResty中,每个 woker 使用一个 LuaVM,当请求被分配到 woker 时,将在这个 LuaVM 里创建一个 coroutine(协程)。协程之间数据隔离,每个协程具有独立的全局变量_G。OpenResty致力于将服务器应用完全运行与nginx中,充分利用nginx事件模型进行非阻塞I/O通信。其对MySQL、redis、Memcached的I\O通信操作也是非阻塞的,可以轻松应对10K以上的超高连接并发。

安装

1、通过在CentOS8.2 系统中添加 openresty 仓库,便于未来安装或更新我们的软件包(通过 yum update 命令)

sudo yum install yum-utils

在这里插入图片描述

sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

在这里插入图片描述
2,安装openresty

sudo yum install openresty

在这里插入图片描述
注:弹出来的选项一直选y就好(因为我安装过了所以就没有截图)

3:安装命令行工具 resty

sudo yum install openresty-resty

在这里插入图片描述
注:弹出来的选项一直选y就好(因为我安装过了所以就没有截图),到这里就已经安装成功,默认安装在 /usr/local/openresty

4:启动openresty

cd /usr/local/openresty/

sudo /sbin/service openresty start

然后去访问浏览器访问自己的ip这时便会弹出如图,说明已经安装成功了。
在这里插入图片描述
如果访问不到,检查是不是没有关闭防火请或者没有开启80端口(也不一定是80,要看nginx.conf文件怎么配置的,一般第一次安装后默认都是80)

如果没有开启端口请参考:

sudo firewall-cmd --add-port=80/tcp --permanent  

sudo firewall-cmd --reload

如果开启后还是不行,则试试重新启动下:

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

以上启动时参考自己的路径

一般情况到这里肯定是可以启动的,能打开网页。
5:自启动

当然想要完成安装的话肯定差不了开机自启,与redis自启动一样。我们使用systemctl管理

先在/usr/lib/systemd/system/下创建nginx.service文件,使用命令进入编辑文件

vi /usr/lib/systemd/system/nginx.service

添加如下代码块

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
PIDFile= /var/run/openresty.pid
ExecStartPre=/usr/bin/rm -f  /var/run/openresty.pid
ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t
ExecStart=/usr/local/openresty/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=process
KillSignal=SIGQUIT
TimeoutStopSec=5
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

注:参考自己安装路径修改

保存,重新加载 systemd

systemctl daemon-reload

设置nginx服务开机自启动

systemctl enable nginx.service

nginx服务常用操作

#启动nginx服务
systemctl start nginx.service
#停止nginx服务
systemctl stop nginx.service
#重启nginx服务
systemctl restart nginx.service
#重新读取nginx配置(这个最常用, 不用停止nginx服务就能使修改的配置生效)
systemctl reload nginx.service
<think>好的,我需要帮助用户解决Vue项目通过Nginx代理时启动的问题。根据用户提供的引用内容,特别是引用[2]和引用[3],看起来问题可能与Nginx配置或前后端连接有关。 首先,用户提到Vue项目的router mode是history,这在Nginx中需要特定的配置来处理路由,避免刷新时出现404错误。根据引用[2],正确的Nginx配置应该包含try_files指令,确保所有请求都指向index.html。我需要检查用户的Nginx配置是否包含这一行,并确认路径是否正确。 接下来,引用[3]提到了后端Tomcat的部署,包括端口设置和WAR包的部署。用户可能没有正确配置反向代理,导致前端无法连接到后端API。需要确认Nginx是否将API请求正确代理到后端端口(如8282),并且后端服务是否正常运行。 另外,用户可能遇到启动问题,可能与Nginx服务未正确重新加载配置有关。引用[1]中的命令`./nginx -s reload`可以用来重新加载配置,确保修改生效。需要提醒用户检查配置语法是否正确,并执行重载命令。 可能还需要检查跨域问题,如果前端和后端不在同一个域,Nginx代理需要设置正确的CORS头。同时,确认前端请求的API路径是否与Nginx代理的路径匹配,避免路径错误导致请求失败。 总结下来,步骤应该是:检查Nginx配置中的try_files指令,确保代理到后端的设置正确,验证后端服务是否运行,重新加载Nginx配置,并测试请求路径是否正确。</think>### Vue项目Nginx代理配置启动问题解决步骤 #### 1. 检查Nginx历史模式配置Vue Router使用`history`模式时,Nginx必须配置`try_files`指令以避免刷新404错误。确保配置包含: ```nginx location / { try_files $uri $uri/ /index.html; # 处理前端路由[^2] } ``` #### 2. 验证反向代理设置 确认API请求已正确代理到后端服务。若后端端口为8282(如Tomcat配置[^3]),需添加: ```nginx location /api/ { proxy_pass http://localhost:8282/ruoyi-admin/; # 代理到Java后端 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } ``` #### 3. 检查关键配置环节 - **配置重载**:修改后执行`/usr/local/openresty/nginx/sbin/nginx -s reload`[^1] - **路径匹配**:前端静态资源路径应与`root`指令指定目录一致 - **端口冲突**:使用`netstat -tuln | grep 80`检查Nginx端口占用 #### 4. 验证后端服务状态 ```bash # 检查Tomcat是否运行 ps -ef | grep -i tomcat # 测试后端接口可达性 curl http://localhost:8282/ruoyi-admin/login ``` #### 5. 常见问题排查表 | 现象 | 检查点 | 解决方案 | |---------------------|-------------------------------|-----------------------------| | 页面白屏 | 1. 静态资源路径错误<br>2. JS/CSS加载失败 | 查看浏览器控制台网络请求状态 | | 接口504网关超时 | 1. 后端服务未启动<br>2. 防火墙阻挡 | 检查Tomcat日志及端口开放状态 | | 路由跳转404 | 1. try_files配置缺失<br>2. 未指定index.html | 添加history模式专用配置[^2] | #### 6. 完整配置示例 ```nginx server { listen 80; server_name your_domain.com; # 前端项目部署位置 root /path/to/vue-project/dist; index index.html; # 处理history模式 location / { try_files $uri $uri/ /index.html; } # 反向代理配置 location /api/ { proxy_pass http://127.0.0.1:8282/ruoyi-admin/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } # 静态资源缓存配置 location /static/ { expires 1y; add_header Cache-Control "public"; } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值