vue.js+nginx+openresty

本文介绍如何安装Node.js及Vue CLI,并通过OpenResty部署Vue项目至Nginx服务器,包括配置Nginx及启动服务的具体步骤。

1、安装vue.js

安装 node.js
安装前准备:
$yum install libtool automake autoconf gcc-c++ openssl-devel
下载源码:
$wget https://nodejs.org/dist/v6.9....
解压缩:
$tar -zxvf node-v6.9.1.tar.gz
编译安装:
$./configure --prefix=/app/server
$make && make install
因为指定了安装目录,安装完成之后,需要把执行文件加到 /etc/profile 里才能全局使用。

 安装 vue-cli 命令行工具
如果访问外网比较慢,可以使用淘宝的镜像 https://npm.taobao.org/
打开命令终端 npm install -g cnpm --registry=https://registry.npm.taobao.org
回车之后,我就可以可以快乐的用 cnpm 替代 npm

$ vue init webpack my-project
$ cd my-project
$ cnpm install
$ cnpm run dev

2、安装openresty

3、将vue项目部署到nginx(此处是openresty搭建的nginx)、修改配置文件

进入到项目目录运行
$npm run build
根据实际情况修改nginx.conf配置文件
例如
 worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    include       vhost/*.conf;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
}
其中conf/vhost/目录下vue.conf
server
{
    listen 8090;
    server_name localhost;
    index index.html index.htm index.php;
    root /var/www/html/find;
    location / {
        try_files $uri $uri/ @router;
        index index.html;
    }

    location @router {
        rewrite ^.*$ /index.html last;
    }
}
将first_project目录下的dist目录下文件复制到/var/www/html/find/目录下。
启动nginx服务。 OK。
<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"; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值