您好,登錄后才能下訂單哦!
下文給大家帶來安裝Nginx的依賴、 Nginx 反向代理、負載均衡等詳解,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗來做一個解答。
安裝Nginx的依賴:
yum -y install pcre-devel zlib-devel openssl-devel
安裝源碼包Nginx的關聯:
要先創建管理Nginx的系統用戶
useradd -M -s /sbin/nologin nginx
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module
*************************************************************************************************
一、Nginx反向代理
1.配置環境一臺Nginx,一臺測試云服務器,web1
[root@web1 ~]# yum install -y httpd
2.啟動httpd
[root@web1 ~]# service httpd start 正在啟動 httpd: [確定]
3.在httpd頁面寫好頁面
[root@web1 ~]# vim /var/www/html/index.html iiiiiiiiiiiiiiiiiiiiii
4.配置Nginx反向代理
vim /usr/local/nginx/conf/nginx.conf location / { proxy_pass http://192.168.18.201; }
5.頁面訪問Nginx的IP,會顯示httpd配置的頁面
二、Nginx負載均衡
一臺Nginx,兩臺web服務器
1.配置nginx負載均衡
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf upstream webservers { server 192.168.18.201 weight=1; #實驗環境用權重 server 192.168.18.202 weight=1; } server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://webservers; proxy_set_header X-Real-IP $remote_addr; } }
注,upstream是定義在server{ }之外的,不能定義在server{ }內部。定義好upstream之后,用proxy_pass引用一下即可。
2.重新加載一下配置文件
[root@nginx ~]# pkill ngixn [root@nginx ~]# /usr/local/nginx/sbin/nginx
3.頁面測試
注:不斷刷新就會發現web1與web2是交替出現的,達到了負載均衡的效果。
三、Nginx頁面緩存
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m inactive=1m max_size=30g;
inactive=1m 如果緩存1分鐘沒人訪問,nginx 會刪除掉這些緩存 硬盤中的最大空間為 30G;
1.配置一個簡單的Nginx緩存服務器
[root@nginx ~]# vim /etc/nginx/nginx.conf proxy_cache_path /data/nginx/cache/webserver levels=1:2 keys_zone=webserver:20m max_size=1g; upstream webservers { server 192.168.115.87:8080 weight=1 max_fails=2 fail_timeout=2; } server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://webservers; proxy_set_header X-Real-IP $remote_addr; proxy_cache webserver; proxy_cache_valid 200 10m; } }
2.建立緩存目錄
[root@nginx ~]# mkdir -pv /data/nginx/cache/webserver
注:創建的目錄要與配置文件里寫的路徑一樣
3.重啟Nginx
[root@nginx ~]# pkill ngixn [root@nginx ~]# /usr/local/nginx/sbin/nginx
4.頁面刷新,然后停掉httpd服務器在刷新會發現頁面還會存在,然后去web服務器上查看緩存文件
[root@web1 63]# pwd /data/nginx/cache/webserver/f/63 [root@C0S1 63]# ls 681ad4c77694b65d61c9985553a2763f #緩存文件
四、Nginx讀寫分離
1修改配置文件
[root@nginx nginx]# vim /usr/local/nginx/conf/nginx.conf server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://192.168.18.202; if ($request_method = "PUT"){ proxy_pass http://192.168.18.201; } } }
2.重啟Nginx
[root@nginx ~]# pkill ngixn [root@nginx ~]# /usr/local/nginx/sbin/nginx
3.配置httpd的WebDAV功能
注,在<Directory "/var/www/html">下啟用就行。
4.重新啟動一下httpd
[root@web1 ~]# service httpd restart 停止 httpd: [確定] 正在啟動 httpd: [確定]
5.測試一下
[root@nginx ~]# curl http://192.168.18.201 <h3>web1.test.com</h3> [root@nginx ~]# curl http://192.168.18.202 <h3>web2.test.com</h3>
注,web1與web2訪問都沒問題。
[root@nginx ~]# curl -T /etc/issue http://192.168.18.202 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>405 Method Not Allowed</title> </head><body> <h3>Method Not Allowed</h3> The requested method PUT is not allowed for the URL /issue. <hr> <address>Apache/2.2.15 (CentOS) Server at 192.168.18.202 Port 80</address> </body></html>
注,我們上傳文件到,web2上時,因為web2只人讀功能,所以沒有開戶WebDAV功能,所以顯示是405 Method Not Allowed。
[root@web1 ~]# setfacl -m u:apache:rwx /var/www/html/
下面我們再來測試一下
[root@nginx ~]# curl -T /etc/issue http://192.168.18.201 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>201 Created</title> </head><body> <h3>Created</h3> Resource /issue has been created. <hr /> <address>Apache/2.2.15 (CentOS) Server at 192.168.18.201 Port 80</address> </body></html>
注,大家可以看到我們成功的上傳了文件,說明nginx讀寫分離功能配置完成。最后,我們來查看一下上傳的文件。
[root@web1 ~]# cd /var/www/html/ [root@web1 html]# ll 總用量 12 drwxr-xr-x 2 root root 4096 9月 4 13:16 forum -rw-r--r-- 1 root root 23 9月 3 23:37 index.html -rw-r--r-- 1 apache apache 47 9月 4 14:06 issue
看了以上關于安裝Nginx的依賴、 Nginx 反向代理、負載均衡等詳解,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。