您的位置:

Nginx配置Vue

一、从nginx配置vue项目

在实际的Vue项目中,需要通过配置Nginx服务器来实现项目的部署和访问。在开始配置前,需要确保已经安装了Nginx。接下来,可以按照以下步骤进行配置:

1、在Nginx服务器上添加配置文件mysite.conf:

server {  
    listen 80;    
    server_name www.myvue.com;    
    root /path/to/vue_project;    
    index index.html;  
    location / {    
        try_files $uri $uri/ /index.html;    
    }    
}

上面的配置中,服务器监听80端口,网站域名为www.myvue.com,root为Vue项目的路径,index为Vue项目中默认的入口文件index.html。location /用来匹配所有URI请求,并指向index.html文件。

2、在/etc/nginx/sites-available中新建mysite.conf软连接,执行以下命令:

sudo ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/

3、检查Nginx配置文件是否有误,执行以下命令:

sudo nginx -t

4、重启Nginx服务,执行以下命令:

sudo service nginx restart

二、Nginx配置Vue的history

当Vue项目采用了history模式时,需要对Nginx进行相应的配置,以便可以正确地进行路由导航。

1、在Nginx配置文件中添加以下配置:

location / {  
    try_files $uri $uri/ /index.html;   
}  

上面的配置用来匹配所有的URI请求,并重定向到主页index.html。如果重定向失败,则返回404页面。

2、重启Nginx服务,执行以下命令:

sudo service nginx restart

三、Nginx配置Vue路由

除了上面提到的history模式外,Vue项目还可以采用hash模式进行路由。在配置Nginx时,可以根据不同的路由模式进行相应的配置。如果使用hash模式,则无需进行特别的配置,可以按照第一节所述的步骤来进行配置。

四、Nginx配置Vue的代理

在Vue开发中,如果需要对接后端接口,则需要通过代理来进行实现。

1、在Nginx配置文件中添加以下配置:

location /api/ {  
proxy_pass http://localhost:9000/;  
proxy_set_header Host $host;  
proxy_set_header X-Real-IP $remote_addr;  
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
}  

上述配置中的/api/表示匹配带有/api/前缀的URI请求;proxy_pass http://localhost:9000/表示将请求转发到localhost:9000地址,即后端接口服务器的地址。

2、重启Nginx服务,执行以下命令:

sudo service nginx restart

五、Nginx配置Vue反向代理

反向代理是指Nginx服务器作为客户端向其他服务器发送请求并将其返回结果交给客户端。在实际的开发中,常常需要将Nginx作为反向代理服务器来进行部署。

1、在Nginx配置文件中添加以下配置:

server {  
    listen 80;    
    server_name www.myvue.com;    
    location / {    
        proxy_pass http://localhost:8000;  
        proxy_set_header Host $host;  
        proxy_set_header X-Real-IP $remote_addr;    
    }    
}

上述配置中的localhost:8000为目标服务器的地址,代表将请求反向代理到该地址。

2、重启Nginx服务,执行以下命令:

sudo service nginx restart

六、Nginx配置Vue cli

当使用Vue Cli进行项目开发时,需要进行如下的Nginx配置:

1、在Nginx配置文件中添加以下配置:

server {  
    listen 80;    
    server_name www.myvue.com;    
    root /path/to/vue_project/dist;    
    index index.html;  
    location / {    
        try_files $uri $uri/ /index.html;    
    }    
}

上述配置中的root为Vue Cli项目中dist文件夹的路径,index为Vue项目中默认的入口文件index.html。location /用来匹配所有URI请求,并指向index.html文件。

2、重启Nginx服务,执行以下命令:

sudo service nginx restart

七、Nginx配置Vue清除前端缓存

在Vue开发中,可能会出现前端缓存问题,可以通过在Nginx配置文件中添加以下配置来解决缓存问题:

location ~* \.(?:css|js)$ {  
    add_header Cache-Control "no-cache, no-store, must-revalidate";  
    add_header Pragma no-cache;  
    expires 0;  
}

上述配置中,使用正则表达式匹配所有的.css和.js文件并添加缓存头信息,以达到清除缓存的目的。

八、Nginx配置server选取

在多个服务器中,可以通过Nginx进行负载均衡,以实现高可用性和高并发访问。

1、在Nginx配置文件中添加以下配置:

upstream myapp {  
    server 192.168.1.11;  
    server 192.168.1.12;  
}  
server {  
    listen 80;  
    server_name www.example.com;  
    location / {  
        proxy_pass http://myapp;  
        proxy_set_header Host $host;  
        proxy_set_header X-Real-IP $remote_addr; 
    }  
}  

上述配置中,myapp为服务器组的名称,包含两个服务器的IP地址;proxy_pass http://myapp表示将请求转发给myapp服务器组;proxy_set_header用于设置请求头。

2、重启Nginx服务,执行以下命令:

sudo service nginx restart