1.finalShell
部署的服务器是阿里云买的,使用finalShell根据账号秘密链接服务器即可
2.配置文件抽离
找到/user/local/nginx/conf/下面的nginx.conf文件进行配置,这里单独新建一个finace.conf文件,配置后再导入到nginx.conf文件,便于管理
3.静态资源入口配置-代理配置
server {
listen 8081;
server_name 127.0.0.1;
location / {
root /www;//静态资源位置,位于根目录下的www文件夹,项目build后dist文件里的东西直接搞里头
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
//对以/finance-web/开头的URL的请求被代理到http://127.0.0.1:8088/finace-web/
location /finace-web/ {
proxy_pass http://127.0.0.1:8088/finace-web/;
proxy_headers_hash_max_size 51200;
proxy_headers_hash_bucket_size 6400;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Nginx_Proxy true;
}
}
这个Nginx服务器配置设置了一个监听端口为8081的服务器,服务器名称设置为127.0.0.1。它包含两个主要的location块:
用于提供静态文件的位置(/):
对根URL的请求从/www目录提供服务。
如果找不到文件,则尝试提供index.html或index.htm。
如果找不到这些文件,则提供/index.html。
用于代理请求到后端服务器的位置(/finance-web/):
对以/finance-web/开头的URL的请求被代理到http://127.0.0.1:8088/finace-web/。(前后端部署在同一个服务器)
它设置了各种代理头,如X-Forwarded-For、Host、X-Real-IP和X-Nginx_Proxy,将它们设置为适合后端服务器的值。
总结一下,这个配置允许Nginx从一个目录提供静态文件服务,同时将特定路径的请求代理到另一个服务器。在修改配置后,请确保重新加载Nginx。
输入nginx -h查看重启命令
4.nginx部署项目后devServer中的代理不再生效的问题
当你将Vue项目部署到Nginx后,Vue CLI 内置的开发服务器(通常称为 devServer)中配置的代理将不再生效。这是因为在生产环境中,Nginx 接管了所有的请求,并负责将它们路由到正确的地方,而不是通过 Vue CLI 的 devServer 进行代理。
当你在开发环境中运行 Vue 项目时,devServer 的代理配置允许你将特定的请求代理到后端服务器,以便在开发过程中模拟生产环境中的 API 请求。但是,一旦你将 Vue 项目部署到 Nginx 中,Nginx 将成为前端和后端之间的统一入口,所有的请求都将由 Nginx 接收并处理。
因此,如果你的 Vue 项目中有依赖于代理的请求,你需要在 Nginx 配置中设置适当的代理规则,以确保这些请求被正确路由到后端服务器。