Nginx—Linux系统配置Nginx代理服务器的详细步骤(一)

2 篇文章 0 订阅
订阅专栏

目录

第一章 Nginx概述

1-1 Nginx的简介

1-2 正向与反向代理服务器

1-2-1 正向代理

1-2-2 反向代理

1-2-3、nginx的反向代理

第二章 Nginx环境搭建

2-1 Nginx安装前的准备

2-2 Nginx版本类型

2-2-1 nginx官网

2-2-2 nginx 的类型版本

2-2 Nginx的下载

2-3 Nginx正式安装

2-4 Nginx的启动

2-5 Nginx的关闭

2-6 Nginx的重启

2-7 Nginx的进程查看

2-8 Nginx的配置检查

第三章 Nginx配置文件

3-1 Nginx的配置文件-基本配置

3-2 Nginx的配置文件-Http配置-服务代理配置

第四章 Nginx静态部署

4-1 Nginx部署静态网站


第一章 Nginx概述

1-1 Nginx的简介

        Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。通常我们主要使用nginx作为服务代理和负载均衡。

   Nginx 作为 负载均衡 服务器: 

        Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP 代理服务器对外进行服务。 Nginx 采用 C 进行编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好很多。作为邮件代理服务器: 

  Nginx 同时也是一个非常优秀的邮件代理服务器。

Nginx 是一个安装非常简单,配置文件非常简洁, Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动。 你还能够不间断服务的情况下进行软件版本的升级。

1-2 正向与反向代理服务器

1-2-1 正向代理

正向代理类似一个跳板机,代理访问外部资源。

实例解释:

我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。

客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。

例如之前使用过这类软件例如CCproxy,http://www.ccproxy.com/ 需要在浏览器中配置代理的地址。

总结来说: 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

正向代理的用途:

(1)访问原来无法访问的资源,如google

(2)可以做缓存,加速访问资源

(3)对客户端访问授权,上网进行认证

(4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

1-2-2 反向代理

客户端是无感知代理的存在的,反向代理对外都是透明的,访问者者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。

反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

反向代理的作用:

(1)保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击

大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。

(2)负载均衡,通过反向代理服务器来优化网站的负载

1-2-3、nginx的反向代理

nginx支持配置反向代理,通过反向代理实现网站的负载均衡。

nginx通过proxy_pass_http 配置代理站点,upstream实现负载均衡。

第二章 Nginx环境搭建

2-1 Nginx安装前的准备

1、因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。

命令:yum install gcc-c++

2、Nginx的http模块需要使用pcre来解析正则表达式,需要安装pcre。

命令:yum install -y pcre pcre-devel

3、安装依赖的解压包。

命令:yum install -y zlib zlib-devel

4、ssl 功能需要 openssl 库,安装 openssl。

命令:yum install -y openssl openssl-devel

/**********************************一键安装上面四个依赖**********************************/

命令:yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2-2 Nginx版本类型

2-2-1 nginx官网

  • 下载地址: http://nginx.org/en/download.html

2-2-2 nginx 的类型版本

  • Mainline version         主线版本,即开发版本
  • Stable version            最新稳定版,生产环境上建议使用版本
  • Legacy version           遗留的老版本

2-2 Nginx的下载

1、 进入usr/local目录

cd /usr/local

2、 创建nginx目录

mkdir nginx

3、 进入nginx目录

cd nginx

4、下载tar包

wget http://nginx.org/download/nginx-1.13.7.tar.gz

5、解压tar

tar -xvf nginx-1.13.7.tar.gz

2-3 Nginx正式安装

1、进入nginx目录

cd /usr/local/nginx

2、进入目录

cd nginx-1.13.7

3、执行命令(考虑到后续安装ssl证书 可以添加两个模块)

./configure --with-http_stub_status_module --with-http_ssl_module

4、执行make命令

make --- 用来编译( 从Makefile中读取指令,然后编译)

5、执行make install命令

make install --- 用来安装( 从Makefile中读取指令,安装到指定的位置)

2-4 Nginx的启动

  • 进入/usr/local/nginx/sbin目录,输入./nginx即可启动nginx
./nginx

2-5 Nginx的关闭

  • 关闭nginx
./nginx -s quit 或者 ./nginx -s stop

2-6 Nginx的重启

  • 重启nginx
./nginx -s reload

2-7 Nginx的进程查看

  • 查看nginx进程
ps -ef|grep nginx

2-8 Nginx的配置检查

  • Nginx服务代理和负载均衡都可以通过修改nginx.conf文件进行配置
vim /usr/local/nginx/cong/mginx.conf

第三章 Nginx配置文件

3-1 Nginx的配置文件-基本配置

#定义Nginx运行的用户和用户组
user www www;
#nginx进程数,建议设置为等于CPU总核心数。
worker_processes 8;
 
#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
error_log /usr/local/nginx/logs/error.log info;
#进程pid文件
pid /usr/local/nginx/logs/nginx.pid;
#指定进程可以打开的最大描述符:数目
#工作模式与连接数上限
#这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。
#现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。
#这是因为nginx调度时分配请求到进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。
worker_rlimit_nofile 65535;
events
{
    #参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型
    #是Linux 2.6以上版本内核中的高性能网络I/O模型,linux建议epoll,如果跑在FreeBSD上面,就用kqueue模型。
    #补充说明:
    #与apache相类,nginx针对不同的操作系统,有不同的事件模型
    #A)标准事件模型
    #Select、poll属于标准事件模型,如果当前系统不存在更有效的方法,nginx会选择select或poll
    #B)高效事件模型
    #Kqueue:使用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 和 MacOS X.使用双处理器的MacOS X系统使用kqueue可能会造成内核崩溃。
    #Epoll:使用于Linux内核2.6版本及以后的系统。
    #/dev/poll:使用于Solaris 7 11/99+,HP/UX 11.22+ (eventport),IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+。
    #Eventport:使用于Solaris 10。 为了防止出现内核崩溃的问题, 有必要安装安全补丁。
    use epoll;
    #单个进程最大连接数(最大连接数=连接数*进程数)
    #根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为。
    worker_connections 65535;
    #keepalive超时时间。
    keepalive_timeout 60;
    #客户端请求头部的缓冲区大小。这个可以根据你的系统分页大小来设置,一般一个请求头的大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。
    #分页大小可以用命令getconf PAGESIZE 取得。
    #[root@web001 ~]# getconf PAGESIZE
    #4096
    #但也有client_header_buffer_size超过4k的情况,但是client_header_buffer_size该值必须设置为“系统分页大小”的整倍数。
    client_header_buffer_size 4k;
    #这个将为打开文件指定缓存,默认是没有启用的,max指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存。
    open_file_cache max=65535 inactive=60s;
    #这个是指多长时间检查一次缓存的有效信息。
    #语法:open_file_cache_valid time 默认值:open_file_cache_valid 60 使用字段:http, server, location 这个指令指定了何时需要检查open_file_cache中缓存项目的有效信息.
    open_file_cache_valid 80s;
    #open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive时间内一次没被使用,它将被移除。
    #语法:open_file_cache_min_uses number 默认值:open_file_cache_min_uses 1 使用字段:http, server, location  这个指令指定了在open_file_cache指令无效的参数中一定的时间范围内可以使用的最小文件数,如果使用更大的值,文件描述符在cache中总是打开状态.
    open_file_cache_min_uses 1;
    
    #语法:open_file_cache_errors on | off 默认值:open_file_cache_errors off 使用字段:http, server, location 这个指令指定是否在搜索一个文件是记录cache错误.
    open_file_cache_errors on;
}
 
 
 
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http
{
    #文件扩展名与文件类型映射表
    include mime.types;
    #默认文件类型
    default_type application/octet-stream;
    #默认编码
    #charset utf-8;
    #服务器名字的hash表大小
    #保存服务器名字的hash表是由指令server_names_hash_max_size 和server_names_hash_bucket_size所控制的。参数hash bucket size总是等于hash表的大小,并且是一路处理器缓存大小的倍数。在减少了在内存中的存取次数后,使在处理器中加速查找hash表键值成为可能。如果hash bucket size等于一路处理器缓存的大小,那么在查找键的时候,最坏的情况下在内存中查找的次数为2。第一次是确定存储单元的地址,第二次是在存储单元中查找键 值。因此,如果Nginx给出需要增大hash max size 或 hash bucket size的提示,那么首要的是增大前一个参数的大小.
    server_names_hash_bucket_size 128;
    #客户端请求头部的缓冲区大小。这个可以根据你的系统分页大小来设置,一般一个请求的头部大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。分页大小可以用命令getconf PAGESIZE取得。
    client_header_buffer_size 32k;
    #客户请求头缓冲大小。nginx默认会用client_header_buffer_size这个buffer来读取header值,如果header过大,它会使用large_client_header_buffers来读取。
    large_client_header_buffers 4 64k;
    #设定通过nginx上传文件的大小
    client_max_body_size 8m;
    #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
    #sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime。
    sendfile on;
    #开启目录列表访问,合适下载服务器,默认关闭。
    autoindex on;
    #此选项允许或禁止使用socke的TCP_CORK的选项,此选项仅在使用sendfile的时候使用
    tcp_nopush on;
     
    tcp_nodelay on;
    #长连接超时时间,单位是秒
    keepalive_timeout 120;
    #FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    #gzip模块设置
    gzip on; #开启gzip压缩输出
    gzip_min_length 1k;    #最小压缩文件大小
    gzip_buffers 4 16k;    #压缩缓冲区
    gzip_http_version 1.0;    #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
    gzip_comp_level 2;    #压缩等级
    gzip_types text/plain application/x-javascript text/css application/xml;    #压缩类型,默认就已经包含textml,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
    gzip_vary on;
    #开启限制IP连接数的时候需要使用
    #limit_zone crawler $binary_remote_addr 10m;
    #负载均衡配置
    upstream piao.jd.com {
     
        #upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。
        server 192.168.80.121:80 weight=3;
        server 192.168.80.122:80 weight=2;
        server 192.168.80.123:80 weight=3;
        #nginx的upstream目前支持4种方式的分配
        #1、轮询(默认)
        #每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
        #2、weight
        #指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
        #例如:
        #upstream bakend {
        #    server 192.168.0.14 weight=10;
        #    server 192.168.0.15 weight=10;
        #}
        #2、ip_hash
        #每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
        #例如:
        #upstream bakend {
        #    ip_hash;
        #    server 192.168.0.14:88;
        #    server 192.168.0.15:80;
        #}
        #3、fair(第三方)
        #按后端服务器的响应时间来分配请求,响应时间短的优先分配。
        #upstream backend {
        #    server server1;
        #    server server2;
        #    fair;
        #}
        #4、url_hash(第三方)
        #按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
        #例:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法
        #upstream backend {
        #    server squid1:3128;
        #    server squid2:3128;
        #    hash $request_uri;
        #    hash_method crc32;
        #}
        #tips:
        #upstream bakend{#定义负载均衡设备的Ip及设备状态}{
        #    ip_hash;
        #    server 127.0.0.1:9090 down;
        #    server 127.0.0.1:8080 weight=2;
        #    server 127.0.0.1:6060;
        #    server 127.0.0.1:7070 backup;
        #}
        #在需要使用负载均衡的server中增加 proxy_pass http://bakend/;
        #每个设备的状态设置为:
        #1.down表示单前的server暂时不参与负载
        #2.weight为weight越大,负载的权重就越大。
        #3.max_fails:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误
        #4.fail_timeout:max_fails次失败后,暂停的时间。
        #5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
        #nginx支持同时设置多组的负载均衡,用来给不用的server来使用。
        #client_body_in_file_only设置为On 可以讲client post过来的数据记录到文件中用来做debug
        #client_body_temp_path设置记录文件的目录 可以设置最多3层目录
        #location对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡
    }
     
     
     
    #虚拟主机的配置
    server
    {
        #监听端口
        listen 80;
        #域名可以有多个,用空格隔开
        server_name www.jd.com jd.com;
        index index.html index.htm index.php;
        root /data/www/jd;
        #对******进行负载均衡
        location ~ .*.(php|php5)?$
        {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
         
        #图片缓存时间设置
        location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires 10d;
        }
         
        #JS和CSS缓存时间设置
        location ~ .*.(js|css)?$
        {
            expires 1h;
        }
         
        #日志格式设定
        #$remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
        #$remote_user:用来记录客户端用户名称;
        #$time_local: 用来记录访问时间与时区;
        #$request: 用来记录请求的url与http协议;
        #$status: 用来记录请求状态;成功是200,
        #$body_bytes_sent :记录发送给客户端文件主体内容大小;
        #$http_referer:用来记录从那个页面链接访问过来的;
        #$http_user_agent:记录客户浏览器的相关信息;
        #通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。
        log_format access '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" $http_x_forwarded_for';
         
        #定义本虚拟主机的访问日志
        access_log  /usr/local/nginx/logs/host.access.log  main;
        access_log  /usr/local/nginx/logs/host.access.404.log  log404;
         
        #对 "/" 启用反向代理
        location / {
            proxy_pass http://127.0.0.1:88;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
             
            #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             
            #以下是一些反向代理的配置,可选。
            proxy_set_header Host $host;
            #允许客户端请求的最大单文件字节数
            client_max_body_size 10m;
            #缓冲区代理缓冲用户端请求的最大字节数,
            #如果把它设置为比较大的数值,例如256k,那么,无论使用firefox还是IE浏览器,来提交任意小于256k的图片,都很正常。如果注释该指令,使用默认的client_body_buffer_size设置,也就是操作系统页面大小的两倍,8k或者16k,问题就出现了。
            #无论使用firefox4.0还是IE8.0,提交一个比较大,200k左右的图片,都返回500 Internal Server Error错误
            client_body_buffer_size 128k;
            #表示使nginx阻止HTTP应答代码为400或者更高的应答。
            proxy_intercept_errors on;
            #后端服务器连接的超时时间_发起握手等候响应超时时间
            #nginx跟后端服务器连接超时时间(代理连接超时)
            proxy_connect_timeout 90;
            #后端服务器数据回传时间(代理发送超时)
            #后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
            proxy_send_timeout 90;
            #连接成功后,后端服务器响应时间(代理接收超时)
            #连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
            proxy_read_timeout 90;
            #设置代理服务器(nginx)保存用户头信息的缓冲区大小
            #设置从被代理服务器读取的第一部分应答的缓冲区大小,通常情况下这部分应答中包含一个小的应答头,默认情况下这个值的大小为指令proxy_buffers中指定的一个缓冲区的大小,不过可以将其设置为更小
            proxy_buffer_size 4k;
            #proxy_buffers缓冲区,网页平均在32k以下的设置
            #设置用于读取应答(来自被代理服务器)的缓冲区数目和大小,默认情况也为分页大小,根据操作系统的不同可能是4k或者8k
            proxy_buffers 4 32k;
            #高负荷下缓冲大小(proxy_buffers*2)
            proxy_busy_buffers_size 64k;
            #设置在写入proxy_temp_path时数据的大小,预防一个工作进程在传递文件时阻塞太长
            #设定缓存文件夹大小,大于这个值,将从upstream服务器传
            proxy_temp_file_write_size 64k;
        }
         
         
        #设定查看Nginx状态的地址
        location /NginxStatus {
            stub_status on;
            access_log on;
            auth_basic "NginxStatus";
            auth_basic_user_file confpasswd;
            #htpasswd文件的内容可以用apache提供的htpasswd工具来产生。
        }
         
        #本地动静分离反向代理配置
        #所有jsp的页面均交由tomcat或resin处理
        location ~ .(jsp|jspx|do)?$ {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:8080;
        }
         
        #所有静态文件由nginx直接读取不经过tomcat或resin
        location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|
        pdf|xls|mp3|wma)$
        {
            expires 15d; 
        }
         
        location ~ .*.(js|css)?$
        {
            expires 1h;
        }
    }
}

3-2 Nginx的配置文件-Http配置-服务代理配置

打开nginx.conf文件,修改配置文件
为了方便阅读,我把一些不用的配置给删除


worker_processes  1;
events {
    worker_connections  1024;
}

#http结构下可以有多个server。请求进来 确定 使用哪一个 server由 server_name 确定
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {	#第一个server
        listen       81;#nginx的监听端口为81
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
   
    server {
        listen       8001;
        server_name  localhost;
        location ~ /PMS/ {
          proxy_pass  http://localhost:8080; 
        }
    }

}

http结构下可以有多个server。请求进来 确定 使用哪一个 server由 server_name 确定
(1)第一个server我们定义了nginx的启动的窗口,当我们直接访问:http://localhost:81/,可以直接来到nginx的首页


(2)第二个server我们配置了nginx的监听端口,我们设置为8001,当我们访问8001时,ngin会把url与我们所定义的location内容进行比较,如果出现匹配的情况,则进行转发到我们配置的proxy_pass下的ip和端口号,本次我们转发到的是8080端口: 
(3)效果展示
1.首先我配置并启动端口为8080的tomcat,效果如下:
访问http://localhost:8080/PMS/login.do成功来到登录界面

2.当我通过http://localhost:8001/PMS/login.do继续访问时,也可以来到相同的登录界面,说明本次的反向代理是成功。

第四章 Nginx静态部署

4-1 Nginx部署静态网站

将打包好的vue项目直接上传到目录:

/usr/local/nginx/html

这是nginx默认的页面路径

直接替换里面的文件就行 

使用 Nginx 部署静态页面的方法
09-30
本篇文章主要介绍了使用 Nginx 部署静态页面的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Linux系统下安装配置 Nginx 超详细图文教程_linux安装nginx
始飞龙
04-05 1290
样例中就表示每个work process支持的最大连接数为1024,这部分的配置Nginx的性能影响较大,在实际中应该灵活配置前端的主流解决跨域的方式就是:1、开发生产cors解决;2、开发proxy,生产nginx解决nginx配置如下: 解读如下:就是如果遇到以/police请求开头的接口,就去访问这个IP地址的后端接口。定义多个端口的反向代理,直接copy上面的,直接修改代理头和proxy_pass即可。开启gzip对于前端来说还是比较重要的,浏览器加载的包大概能节约一半的空间,例如首页需要加载b
Nginx实现反向代理:详细配置与代码注释
java专栏
04-17 4349
Nginx是一款高性能的HTTP和反向代理服务器,常用于负载均衡、缓存、SSL终止、静态内容服务以及作为应用程序的反向代理。本文将详细介绍如何使用Nginx实现反向代理功能,包括基本配置、高级特性以及示例代码和详尽注释,以帮助您全面理解和应用Nginx的反向代理能力。
linux 配置nginx代理方法
qq_35878240的博客
01-11 1188
linux 配置nginx代理方法
Linux部署Nginx并实现网络代理
拾一二的博客
08-24 3382
由于目标服务器IP访问限制,只允许局域网内部指定服务器访问,其他服务器无法直接访问,此时,可以在指定服务器部署nginx,配置网络代理,以实现局域网其他服务器通过访问指定服务器,间接访问目标服务器
Linux-nginx(安装配置nginx配置反向代理Nginx配置负载均衡、动静分离)
weixin_47735032的博客
01-16 1746
PCRE安装:pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。zlib安装:zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装。OpenSSL安装:penssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔,所以需要安装。当我们访问nginx服务器的时候 直接指向的是 192.168.195.33:8080 这个地址。查看nginx的位置。
linux配置nginx代理
m0_37667089的博客
04-04 498
本人在使用nginx前端代理或者配置安全访问时的一些经验
Linux Nginx 配置SSL访问实例详解
01-10
Linux Nginx 配置SSL访问实例详解 生成证书 可以通过以下步骤生成一个简单的证书: 首先,进入你想创建证书和私钥的目录,例如: $ cd /usr/local/nginx/conf 创建服务器私钥,命令会让你输入一个口令: $ ...
Linux 6下安装编译安装Nginx的步骤
01-11
Linux 6下安装编译安装Nginx的步骤 前言: Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板...
服务器Nginx配置.docx
最新发布
05-12
以下是Nginx服务器配置的基本步骤: 安装Nginx: 在Linux系统上,可以使用包管理器安装Nginx,如在Ubuntu上使用命令sudo apt-get install nginx。 基本配置Nginx配置文件通常位于/etc/nginx/nginx.conf。 ...
LinuxNginx负载均衡多个tomcat配置的方法步骤
01-20
Linux下安装nginx和安装多个tomcat的方法这里不过多介绍,不清楚的可参考: Linux安装nginx: ...Linux系统,jdk1.8, 已安装好nginx, 安装了4个tomcat,并且配置好了各端口号,分别对应8080,8081,8082
Linux 系统 Nginx 按照部署文档
07-10
以上简单描述提供了部署Nginx的基本步骤,但根据具体情况可能需要进一步配置Nginx,如设置虚拟主机、SSL证书、反向代理、负载均衡等。确保根据实际需求和安全要求进行适当的配置和调整。同时,为保障系统安全,建议...
Linux系统的nginx 前后端完整配置代理
QAIN_的博客
08-18 984
nginx 前后端完整配置代理
Linux服务——nginx配置及模块
x74188的博客
08-27 8775
格式:页面错误代码error_page 固定写法code 响应码= 可以将响应码转换uri 访问连接修改子配置文件创建错误页面,及错误页面的内容重新加载nginx服务,并测试日志格式可以自由定义,使用上免得变量,自由的组合定义。注意如果开启 include 注意定义自配置文件与 日志格式的上下关系 , 日志格式一定要在 include 之前 否则会不生效。自定义json格式日志,方便ELK收集日志。
Linux-nginx反向代理和负载均衡详解和配置
五更天长的博客
08-16 503
centos 7 反向代理 负载均衡
Linux 配置 Nginx 服务完整详细版
热门推荐
久绊A的博客
09-18 1万+
当你需要配置Nginx服务器来托管网站或应用程序时,以下是一些基本步骤和示例配置,以帮助你入门。请注意,Nginx配置可以非常灵活,可以根据你的具体需求进行自定义。以下示例假设你已经在服务器上安装了Nginx。1、打开终端并登录到你的服务器。2、使用文本编辑器(比如nano或vim)打开Nginx配置文件。配置文件通常位于 /etc/nginx/nginx.conf或 /etc/nginx/sites-available/default,具体位置可能因你的操作系统而异。
Linux安装nginx 反向代理 负载均衡 动静分离 高可用等使用
doubiy的博客
06-28 1221
随着软件需求的发展,现在很多的系统都需要保证高可用、高并发,在此需求之下就需要部署的服务能够不间断的提供服务即避免单点故障问题因此系统需要做集群部署同时还能提升qps、tps等指标;集群部署后的服务就需要对用户的请求能够负载均衡,nginx是目前流行的高性能HTTP和反向代理web服务器,占有内存少,并发能力强,能够支持 50000 个并发连接数的响应;主要功能有反向代理、负载均衡、动静分离等。
linuxNginx配置
qq_44709866的博客
02-15 1238
linuxnginx搭建笔记
Linux Nginx实现代理
太#阳%鸟的博客
07-24 597
Nginx 的conf 文件加下面 存在nginx.conf 配置文件 1.详解nginx.conf 文件 nginx.conf 可以分为三个部分 一个是全局块、event 块、一个是http 块 ,http 块包含了多个server 块,一个server 块又包含了多个 location 块 ##全局块 worker_process 1; pid logs/nginx....
linux安装nginx服务器详细步骤
05-29
安装nginx服务器详细步骤如下: 1. 打开终端并更新系统软件包列表: ``` sudo apt update ``` 2. 安装nginx: ``` sudo apt install nginx ``` 3. 启动nginx服务: ``` sudo systemctl start nginx ``` 4. 验证nginx是否正在运行: ``` systemctl status nginx ``` 如果看到“Active: active (running)”字样,说明nginx正在运行。 5. 配置防火墙允许HTTP和HTTPS流量通过: ``` sudo ufw allow 'Nginx HTTP' sudo ufw allow 'Nginx HTTPS' ``` 6. 访问服务器的公共IP地址或域名,查看nginx默认欢迎页面。 现在你已经成功安装nginx服务器并可以访问其默认欢迎页面了。如果你想要配置更多的nginx选项,可以编辑`/etc/nginx/nginx.conf`文件。如果你需要重启或停止nginx服务,可以使用以下命令: ``` sudo systemctl restart nginx sudo systemctl stop nginx ``` 希望这些步骤对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Vue系列之—Element UI 表单自定义效验规则 17762
  • Nginx—Linux系统配置Nginx代理服务器的详细步骤(一) 7083
  • 『前端必备』本地数据接口—json-server 详细介绍(入门篇) 5748
  • 『前端必备』本地数据接口—json-server 详细介绍(进阶篇) 4072
  • Vue系列之—Vuex详解 3327

分类专栏

  • Echarts 1篇
  • 前端本地接口 2篇
  • TypeScript 6篇
  • Nginx 2篇
  • JavaScript 6篇
  • Vue 5篇
  • CSS
  • 微信小程序

最新评论

  • Vue系列之—Vuex详解

    qq_39684299: 写的通俗易懂,

  • Vue系列之—Vuex详解

    NIGHT_STAR8: 写的这么好,为啥没人看啊

  • Vue系列之—Element UI 表单自定义效验规则

    专业研究祖传Bug编写术: 一、表单效验规则的使用 1、自定义效验规则介绍 是否必填: required: true || fasle 上面的false拼错啦

  • Nginx—Linux系统配置Nginx代理服务器的详细步骤(一)

    ReYYSQ: 文件 夹conf,和文件nginx,conf

  • Vue系列之—Element UI 表单自定义效验规则

    Mango371: :rule='rules'少了个s(2、绑定效验方法里面)

大家在看

  • 计算机组成原理实验三 存储器运算器综合实验
  • 298.明星肖战个人网页 大学生期末大作业 Web前端网页制作 html+css+js 1023
  • 机器学习案例--使用KNN邻近算法预测Facebook用户签到位置

最新文章

  • 『前端必备』本地数据接口—json-server 详细介绍(进阶篇)
  • 『前端必备』本地数据接口—json-server 详细介绍(入门篇)
  • TypeScript—面向对象(六)
2022年22篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周橘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

深圳SEO优化公司怒江设计网站推荐延边百姓网标王多少钱长沙网络广告推广阳泉SEO按天计费哪家好醴陵百度竞价价格自贡网站优化软件多少钱信阳网站改版衡水建网站价格荷坳百度网站优化排名九江网站优化按天收费报价威海网站推广系统合肥模板网站建设公司晋中模板推广价格怒江网站seo优化价格来宾企业网站设计推荐金昌网站推广工具价格永新模板推广哪家好廊坊网络推广公司通化网站seo优化郑州营销型网站建设甘孜企业网站建设价格池州网站建设设计多少钱仙桃网络广告推广报价濮阳优化公司咸阳网站关键词优化公司朝阳设计公司网站推荐咸宁推广网站公司常德高端网站设计报价沙井网站推广多少钱衡阳设计网站推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化