主页 > 系统开发 > nginx服务器最佳用途描述?

nginx服务器最佳用途描述?

2022-11-15 18:19来源:m.sf1369.com作者:宇宇

一、nginx服务器最佳用途描述?

Nginx在不依赖第三方模块的前期下,主要的功能有:

①、正向代理

正向代理,是在用户端的。比如需要访问某些国外网站,我们可能需要购买vpn。并且vpn是在我们的用户浏览器端设置的(并不是在远端的服务器设置),浏览器先访问vpn地址,vpn地址转发请求,并最后将请求结果原路返回来。

②、反向代理

客户端向服务器发送请求时,会首先经过 Nginx 服务器,由服务器将请求分发到相应的 WEB 服务器。正向代理是代理客户端,而反向代理则是代理服务器,Nginx 在提供反向代理服务方面,通过使用正则表达式进行相关配置,采取不同的转发策略,配置相当灵活,而且在配置后端转发请求时,完全不用关心网络环境如何,可以指定任意的IP地址和端口号,或其他类型的连接、请求等。

③、负载均衡

当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.

④、动静分离

在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就是指HTML,JavaScript,CSS,img等文件。

一般来说,都需要将动态资源和静态资源分开,将静态资源部署在Nginx上,当一个请求来的时候,如果是静态资源的请求,就直接到nginx配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。

在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时在开过程中也可以让前后端开发并行可以有效的提高开发时间,也可以有些的减少联调时间。

二、thinkphp 伪静态 nginx 规则怎么设置

关于nginx的伪静态设置(案例)

server {

listen 80;

server_name localhost;

index index.html index.htm index.php;

root /alidata/www/;

location / {

if (!-e $request_filename){

rewrite ^/(.*)$ /index.php?s=/$1 last;

}

}

location ~ .*\.(php|php5)?$

{

#fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

# 以下是为了让Nginx支持PATH_INFO

set $path_info ;

set $real_script_name $fastcgi_script_name;

if ($fastcgi_script_name ~ ^(.+?\.php)(/.+)$) {

set $real_script_name $1;

set $path_info $2;

}

fastcgi_param script_FILENAME $document_root$real_script_name;

fastcgi_param script_NAME $real_script_name;

fastcgi_param PATH_INFO $path_info;

fastcgi_connect_timeout 120;

fastcgi_send_timeout 120;

fastcgi_read_timeout 120;

fastcgi_buffers 8 128K;

fastcgi_buffer_size 128K;

}

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

{

expires 30d;

}

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

{

expires 1h;

}

#伪静态规则

access_log /alidata/log/nginx/access/default.log;

}

三、如何配置nginx伪静态以支持ThinkPHP的PATHINFO模式

在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:

location / { // …..省略部分代码

if (!-e $request_filename) {

rewrite ^(.*)$ /index.php?s=$1 last;

break;

}

}

注意if和括号之间的空格

四、nginx怎样设置伪静态规则 thinkphp

网站根目录建 nginx.htaccess 文件

rewrite ^(.*?).htaccess$ /404.html last;

if (!-e $request_filename){

##Delphi

rewrite ^/test.html(|\/)$ /index.php last;//照着这条写就是

}

相关推荐

请教ESB是如何实现系统集成的

系统开发 2024-01-18

如何成功实施管理信息系统?

系统开发 2023-12-28