前端是部署nginx吗(前端部署nginx的目的)
前端部署nginx的目的
以vue框架为例,在nginx.conf中监听80或443端口的server的路由配置设置为:
location ^~ /api { # url如/api/v1.0/user/info等,通过uwsgi转发到django后端项目中处理
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8077;
include /etc/nginx/mime.types;
}
location ^~ /static { # 后端的资源文件夹为static,前端请求后端项目包内的静态文件
root /root/backend_end_project/static/;
}
location ^~ /admin { # django的后台管理页面通过uwsgi转交给django处理
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8077;
include /etc/nginx/mime.types;
}
location ^~ /assets { # 前端的资源文件夹为assets,前端请求前端项目包内的静态文件
root /root/front_end_project/dist;
}
location / { # 表示其它路径都交给前端项目根目录下的index.html处理
root /root/front_end_project;
try_files $uri /index.html;
}
nginx做前端服务器
意思就是你已经把nginx安装好了。 你看到这个页面说明nginx已经安装成功正在运行了。
下一步配置网站主机,上传程序。
nginx部署前端代码
nginx访问日志默认为开启状态,日志位于nginx安装目录下的logs/access.log日志配置指令如下:access_logpath[format[buffer=size][gzip[=level]][flush=time][if=condition]];access_logoff;第一行是启用日志第二行是关闭日志启用日志的必选参数为path表示日志路径
nginx配置vue前端工程和后端工程
vue hash 模式配置如下:
vue.config.js 配置配置 publicPath 为 “./”
router/index.js 配置mode 修改为 “history”
nginx 线上部署
location /xxx{
root E:/nginxVueApps/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# 注:xxx为打包后的项目名称
访问
localhost:8080/xxx
最终浏览器地址栏的 url 为 localhost:8080/xxx/#/,也就是 hash 模式会带有 #。
前端项目部署nginx
1、可以高并发连接
官方测试Nginx能够支撑5万并发连接,实际生产环境中可以支撑2~4万并发连接数。
原因,主要是Nginx使用了最新的epoll(Linux2.6内核)和kqueue(freeBSD)网路I/O模型,而Apache使用的是传统的Select模型,其比较稳定的Prefork模式为多进程模式,需要经常派生子进程,所以消耗的CPU等服务器资源,要比Nginx高很多。
2、内存消耗少
Nginx+PHP(FastCGI)服务器,在3万并发连接下,开启10个Nginx进程消耗150MB内存,15MB*10=150MB,开启的64个PHP-CGI进程消耗1280内存,20MB*64=1280MB,加上系统自身消耗的内存,总共消耗不到2GB的内存。
如果服务器的内存比较小,完全可以只开启25个PHP-CGI进程,这样PHP-CGI消耗的总内存数才500MB。
3、成本低廉
购买F5BIG-IP、NetScaler等硬件负载均衡交换机,需要十多万到几十万人民币,而Nginx为开源软件,采用的是2-clause BSD-like协议,可以免费试用,并且可用于商业用途。
BSD开源协议是一个给使用者很大自由的协议,协议指出可以自由使用、修改源代码、也可以将修改后的代码作为开源或专用软件再发布。
4、配置文件非常简单
网络和程序一样通俗易懂,即使,非专用系统管理员也能看懂。
5、支持Rewrite重写
能够根据域名、URL的不同,将http请求分到不同的后端服务器群组。
6、内置的健康检查功能
如果NginxProxy后端的某台Web服务器宕机了,不会影响前端的访问。
7、节省带宽
支持GZIP压缩,可以添加浏览器本地缓存的Header头。
8、稳定性高
用于反向代理,宕机的概率微乎其微。
9、支持热部署
Nginx支持热部署,它的自动特别容易,并且,几乎可以7天*24小时不间断的运行,即使,运行数个月也不需要重新启动,还能够在不间断服务的情况下,对软件版本进行升级。
前端配置nginx
1、从应用方面
tomcat一般是做动态解析才会用得到,支持jsp的解析,需要配置JDK支持。
nginx,则一般是做静态,本身不具备动态解析功能,需要配置其他插件或通过其他软件协同才具备动态功能,比如php,tomcat,或者proxypass到win2008的iis服务器做ASP的动态链接等,但nginx在静态上的功能非常强大,也可做访问控制,而且可以做成各种协议负载服务器,包括流媒体的也可以做,具体得去官方网站去看;
2、在性能方面
如果再不做系统调优的情况下,tomcat一般支持并发并不高100个差不多了;nginx在静态方面支持并发轻松达几万。
nginx前后端
Nginx和后端无关,他是HTTP传输过程中的一个中间层,负责将请求转发到他身后的应用服务器。对于客户端和最终的服务端,都是感知不到Nginx的存在的
前端项目部署到nginx
nginx可以用在app服务器上,nginx本身既可以代理前端服务,也可以代理后端服务。狭义上讲,nginx不属于前端,我们理解的前端是指用户可以看到可以操作的入口。比如网页,手机,APP等。但是nginx也不属于后端,因为后端是指实现和提供服务的服务器端代码及其相关服务。
nginx前端配置还是后端配置
nginx的前后端可简化理解。前端在互联网上负责人机交互,后端在局域网内负责具体的业务处理。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.