nginx 部署前端项目的详细步骤(vue项目build打包+nginx部署)_前端工程打包部署到nginx

本文介绍了如何使用nginx部署Vue前端项目,包括设置链接超时、虚拟主机、路由、文件类型过期时间以及解决跨域问题的详细步骤,旨在帮助开发者实现前端工程的顺利部署。

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

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

'$status b o d y b y t e s s e n t " body_bytes_sent " bodybytessent"http_referer" ’
‘“ h t t p u s e r a g e n t " " http_user_agent" " httpuseragent""http_x_forwarded_for” “$clientip”’;
access_log /srv/log/nginx/access.log access; # 日志输出目录
gzip on; # gzip模块设置,设置是否开启gzip压缩输出
sendfile on; # 开启文件传输模式
#tcp_nopush on; # 减少网络报文数量

#keepalive_timeout 0; # 连接不超时,单位 s

链接超时时间,自动断开

keepalive_timeout 60;

虚拟主机

server {
listen 80; # 监听地址以及端口
server_name localhost; # 浏览器访问域名

charset utf-8; # 默认字符集
access_log logs/localhost.access.log access;

路由

location / {
root html; # 访问根目录 nginx-1.21.0\html
index index.html index.htm; # 入口文件,可以接收index、index.html、index.htm文件
}
}
}

2.2.3 搭建不同网站的站点

在其他配置文件’self’目录下,添加新建站点的配置文件’xxx.conf’

server {
listen 8070; # 自定义监听端口
server_name 127.0.0.1; # 浏览器访问域名

charset utf-8;
access_log logs/xx_domian.access.log access;

路由

location / {
root dist; # 访问根目录 nginx-1.21.0\dist
index index.html index.htm; # 入口文件类型
}
}

2.2.4 禁止访问的目录以及一键申请SSL证书验证目录相关设置

#禁止访问的文件或目录
location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md)
{
return 404;
}

#一键申请SSL证书验证目录相关设置
location ~ .well-known{
allow all;
}

2.2.5 根据文件类型设置过期时间

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 30d; // 30天过期

access_log off;

}

location ~ .*.(js|css)?$

{

expires 12h;

access_log off;

}

2.2.6 禁止文件缓存

location ~* .(js|css|png|jpg|gif)$ {
add_header Cache-Control no-store;
}

2.2.7 跨域问题

场景:

– 我们前端使用的路径配置为:http://127.0.0.1:8070/(nginx配置)

– 需要向后端请求的路径为: http://192.168.1.19:8087/(项目打包配置)

此时前端向后端发送请求一定会出现跨域!!

解决方法:启动nginx服务器,将server_name设置为127.0.0.1,然后设置响应的拦截前端需要跨域的请求置相应的location以拦截前端需要跨域的请求,最后将请求代理回自己需要请求的后端路径,以我的为例:

server
{
listen 8001;
server_name 127.0.0.1;

location /api/ {
proxy_pass http://192.168.1.19:8087/;
proxy_http_version 1.1; # http版本
proxy_set_header Upgrade KaTeX parse error: Expected 'EOF', got '#' at position 15: http_upgrade; #̲ 继承地址,这里的http_upgrade为上面的proxy_pass
proxy_set_header Connection “upgrade”;
proxy_set_header X-Real-IP $remote_addr; # 传递的ip
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 3000;
}
}

第三章 配置参考

小编基本配置提供参考——

server
{
listen 8070;
server_name 127.0.0.1;
index index.php index.html index.htm default.php default.htm default.html;
root dist;

#REWRITE-END

#禁止访问的文件或目录
location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md)
{
return 404;
}

#一键申请SSL证书验证目录相关设置
location ~ .well-known{
allow all;
}

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 30d;

access_log off;

}

location ~ .*.(js|css)?$

{

expires 12h;

access_log off;

}

location /api/ {
proxy_pass http://192.168.1.19:8087/;
proxy_http_version 1.1; # http版本
proxy_set_header Upgrade KaTeX parse error: Expected 'EOF', got '#' at position 15: http_upgrade; #̲ 继承地址,这里的http_upgrade为上面的proxy_pass
proxy_set_header Connection “upgrade”;
proxy_set_header X-Real-IP $remote_addr; # 传递的ip
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 3000;
}

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

}

打开全栈工匠技能包-1小时轻松掌握SSR

两小时精通jq+bs插件开发

生产环境下如歌部署Node.js

网易内部VUE自定义插件库NPM集成

谁说前端不用懂安全,XSS跨站脚本的危害

webpack的loader到底是什么样的?两小时带你写一个自己loader

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

ormat,png)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-dYXXew8r-1713704717767)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

### 将前端项目部署Nginx 服务器 #### 安装并启动 Nginx 为了确保 Nginx 正常工作,需先进入解压好的 Nginx 目录: ```bash cd nginx-0.1.18 ``` 接着编译安装 Nginx 并启用 HTTP SSL 模块: ```bash ./configure --with-http_ssl_module make make install ``` 完成安装后,通过以下命令启动 Nginx 服务[^1]: ```bash /usr/local/nginx/sbin/nginx ``` 验证 Nginx 是否成功启动可使用如下命令查看进程状态: ```bash ps -ef | grep nginx ``` 如果需要停止或重启 Nginx,则分别执行下列指令: ```bash kill 进程号 /usr/local/nginx/sbin/nginx -s stop /usr/local/nginx/sbin/nginx -s reopen ``` #### 上传静态资源文件 连接 Xftp 工具用于文件传输。通常情况下,默认的根目录位于 `/usr/share/nginx/html` 或者 `/root` 下可以根据需求创建新的项目文件夹放置打包后的 `dist` 文件。 对于 Vue.js 类型的应用程序来说,建议将构建产物放入自定义位置而非默认路径,并相应调整配置文件中的设置[^4]。 #### 修改 Nginx 配置文件 编辑 Nginx 的主要配置文件 `/usr/local/etc/nginx/nginx.conf` 来指定站点的具体参数,比如监听端口号、访问日志保存地点等信息。针对单页面应用 (SPA),还需要特别处理路由重定向逻辑以支持 HTML5 History API: ```nginx server { listen 80; server_name localhost; location / { root html; try_files $uri $uri/ /index.html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; } ``` 上述配置中加入了 `try_files` 指令使得当请求未匹配任何实际存在的文件时会返回首页 (`index.html`),从而允许客户端 JavaScript 处理 URL 路由变化而不触发 404 错误[^3]。 最后记得重新加载 Nginx 让更改生效: ```bash /usr/local/nginx/sbin/nginx -s reload ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值