nginx正向代理与反向代理的配置
(如有錯漏之處,敬請指正)
nginx是什么?
戳這里了解nginx概念
今年年初因為個需求才開始認識nginx的,對方只提供了一個端口訪問權(quán)限給我們,無法承擔(dān)起3、4個應(yīng)用的通信需求,故引入了nginx。nginx也是軟件負載均衡的主流中間鍵,我之前都是通過f5交換機來實現(xiàn)的負載均衡(原來公司有錢任性哈哈)
測試虛擬機版本為:
CentOS Linux release 7.3.1611 (Core)
nginx版本為:
nginx version: nginx/1.10.1
安裝路徑為:
/usr/local/nginx
以下用到的nginx的重啟操作步驟分兩步:
先使用 nginx -t 確認配置信息是否正確,如提示如下信息,則配置無誤。
然后使用 nginx -s reload 重啟即可
nginx的配置
nginx安裝后主要配置的文件夾為conf,其中最為重要的配置文件是nginx.conf,如下:
user "具體用戶"; worker_processes 2; #設(shè)置值和CPU核心數(shù)一致 error_log /usr/local/nginx/logs/nginx_error.log crit; #日志位置和日志級別 pid /usr/local/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 65535; events {use epoll;worker_connections 65535; } http {include mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" $http_x_forwarded_for';#charset gb2312;include /usr/loca/nginx/conf.d/*.conf;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 8m;sendfile on;tcp_nopush on;keepalive_timeout 60;tcp_nodelay on;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 on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;#limit_zone crawler $binary_remote_addr 10m;#下面是server虛擬主機的配置server{listen 80;#監(jiān)聽端口server_name localhost;#域名index index.html index.htm index.php;root /usr/local/nginx/html;#站點目錄location ~ .*\.(php|php5)?${#fastcgi_pass unix:/tmp/php-cgi.sock;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi.conf;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)${expires 30d;# access_log off;}location ~ .*\.(js|css)?${expires 15d;# access_log off;}access_log off;} }我在conf文件夾外部建了個conf.d的文件夾用于存放我新增的nginx配置。通過在上面nginx.conf中添加 include /usr/loca/nginx/conf.d/*.conf來引入外部的配置文件。
nginx的正向代理配置
目標(biāo)效果圖如下
由于沒有環(huán)境,只能通過摳腳的方式模擬
正向代理的配置/usr/loca/nginx/conf.d/ng.conf文件內(nèi)容如下:
以上配置大致意思就是當(dāng)我請求 nginx 服務(wù)(本機)http://localhost:8081時,請求會轉(zhuǎn)發(fā)到 http://192.168.79.129:8080這個地址。日志文件分別生成在
access_log /usr/local/nginx/access.log
error_log /usr/local/nginx/error.log
測試
使用 curl ‘http://localhost:8081’ 命令測試,成功返回tomcat首頁的html。
同時查看日志文件access.log可以看到如下信息
nginx的反向代理
目標(biāo)的效果圖如下
因為同樣摳腳的原因我的結(jié)構(gòu)如下
反向代理的配置/usr/loca/nginx/conf.d/ng2.conf文件內(nèi)容如下:
以上配置大致意思就是當(dāng)我請求 nginx 服務(wù)(本機)http://localhost:8082時,請求會轉(zhuǎn)發(fā)到多個服務(wù)地址里,本樣例的服務(wù)地址就是 http:// localhost:8080這個地址。
測試
通過使用 curl ‘http://localhost:8082’ 命令測試,成功返回tomcat首頁的html
同時查看日志文件access2.log可以看到如下信息
總結(jié)
這次驗證只是簡單的對nginx的正向、反向代理功能進行驗證。nginx的負載均衡以及性能的優(yōu)化待下次進一步的跟進(沒有測試環(huán)境啊~尬住)。
總結(jié)
以上是生活随笔為你收集整理的nginx正向代理与反向代理的配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ChatGPT之父Sam Altman:
- 下一篇: !=会命中索引么_真是命中! 通过流量分