LNMP安裝與配置javascript
1.安裝前準備(確認apache和mysql端口無 有的話中止stop運行)php
1)關閉rpm默認安裝的apache和mysqlcss
[root@CentOS6 ~]# chkconfig --list | grep httpdhtml
[root@CentOS6 ~]# chkconfig --list | grep mysqldjava
[root@CentOS6 ~]# node
2)禁selinuxmysql
[root@CentOS6 selinux]# vi /etc/selinux/configlinux
# This file controls the state of SELinux on the system.nginx
# SELINUX= can take one of these three values:web
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
重啓服務reboot
3)禁用自啓動
[root@CentOS6 selinux]# vi /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local 下面的全部開機自啓動項所有刪除
[root@CentOS6 selinux]# source /etc/rc.local
4)保證yum源正常
A)mount 查看光盤是否掛載
B)沒有掛載的話 掛載
[root@CentOS6 selinux]# mount /dev/sr0 /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
C)查看yum源是否可用
[root@CentOS6 selinux]# yum list
5)準備lnmp其餘的源代碼包
http://lnmp.org/install.html下載
2.一鍵安裝過程
1)一鍵安裝過程
官網下載源碼包-->解壓(tar zxvf lnmp1.0-full.tar.gz)-->cd到目錄下-->執行一鍵安裝./centos.sh腳本
您能夠選擇使用下載版(推薦國外或者美國VPS使用)或者完整版(推薦國內VPS使用),二者沒什麼區別。
執行安裝程序前須要您確認您的Linux發行版,能夠執行:cat /etc/issue 查看是CentOS、Debian仍是Ubuntu,也能夠經過VPS服務商提供的控制面板上查看。肯定好以後,選擇下面對應系統的安裝命令:
CentOS系統下執行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./centos.sh
按上述命令執行後,會出現以下提示:
(注:若是是Debian系統,會提示Where are your servers located? asia,america,europe,oceania or africa,這裏是選擇服務器/VPS在哪一個大洲,通常都是美國VPS,直接回車就行,若是是中國的,輸入asia,回車。若是輸入有錯誤,能夠按住Ctrl再按Backspace鍵刪除,如下都可採用此方法刪除。)
這一步須要設置MySQL的root密碼,輸入後回車進入下一步,以下圖所示:
這裏須要確認是否啓用MySQL InnoDB,若是不肯定是否啓用能夠輸入 y ,這個能夠單獨在MySQL文件裏關閉,輸入 y 表示啓用,輸入 n 表示不啓用。輸入 y 或 n 後回車進入下一步,顯示以下信息:
這一步是選擇php版本,能夠選擇 PHP 5.3.17 或 PHP 5.2.17,安裝PHP 5.3.17的話輸入 y ,安裝PHP 5.2.17 輸入 n,輸入 y 或 n 後回車,進入下一步MySQL版本的選擇,以下圖:
能夠選擇MySQL 版本 5.5.27 或 5.1.60,安裝MySQL 5.5.27的話輸入 y ,安裝MySQL 5.1.60 輸入n,輸入 y 或 n 後回車,完成選擇。
提示"Press any key to start...",按任意鍵確認開始安裝。
LNMP腳本就會自動安裝編譯Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer這幾個軟件。
安裝時間可能會幾十分鐘到幾個小時不等,主要是機器的配置網速等緣由會形成影響。
2)、安裝完成
若是顯示以下界面:(80端口)
說明已經安裝成功。
接下來按添加虛擬主機教程,添加虛擬主機,經過sftp或ftp服務器上傳網站,將域名解析到VPS或服務器的IP上,解析生效便可使用。
3)、安裝失敗
若是出現相似上圖的提示,則代表安裝失敗,說明沒有安裝成功!!須要用winscp或其餘相似工具,將/root目錄下面的lnmp-install.log下載下來,到LNMP支持論壇發帖註明你的發行版名稱版本號(可經過 cat /etc/issue得到)、32位仍是64位,並將lnmp-install.log壓縮以附件形式上傳到論壇,咱們會經過日誌查找錯誤,並給予相應的解決方法。
4)、eAccelerator,xcache,memcached,imageMagick,ionCube的安裝
本文主要介紹eAccelerator,xcache,memcached,imageMagick,ionCube這幾個PHP加速和php擴展的安裝及使用,這些不必定對每一個人都有用,本身按須要安裝,下面會對各個程序的做用、安裝方法及相關注意事項。
eAccelerator是一個自由開放源碼php加速器,優化和動態內容緩存,提升了php腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎徹底消除。 它還有對腳本起優化做用,以加快其執行效率。
安裝
進入lnmp解壓後的目錄,執行:./eaccelerator.sh 運行後有以下提示:
eaccelerator 0.9.5.3 支持PHP 5.2,如需此版本,輸入 old 回車。
eaccelerator 0.9.6.1 支持PHP 5.二、5.3,如需此版本,輸入 new 回車。
eaccelerator 1.0-dev 支持PHP 5.二、5.三、5.4,如需此版本輸入 dev 回車。
提示「Press any key to start...or Press Ctrl+c to cancel」 後回車確認,腳本就會自動安裝eaccelerator。
XCache 是一個國人開發的又快又穩定的 PHP opcode 緩存器. 通過良好的測試並在大流量/高負載的生產機器上穩定運行. 通過(在 linux 上)測試並支持全部現行 PHP 分支的最新發布版本。
安裝
進入lnmp解壓後的目錄,執行:./xcache.sh 運行後有以下提示:
一個有兩個版本能夠選擇,分別是XCache 2.0.0 和XCache 3.0.1 ,建議安裝XCache 3.0.1 輸入new 回車
出現「Press any key to start...or Press Ctrl+c to cancel「,再次回車確認便可開始安裝。
Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它經過在內存中緩存數據和對象來減小讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。
安裝
進入lnmp解壓後的目錄,執行:./memcached.sh
回車確認後就會自動安裝memcache php擴展和memcached。
ImageMagick是一個用於查看、編輯位圖文件以及進行圖像格式轉換的開放源代碼軟件套裝。它能夠讀取、編輯超過100種圖象格式。可用來替換GD庫。
安裝
進入lnmp解壓後的目錄,執行:./imageMagick.sh
回車確認後就會自動安裝imageMagick。
設置:好比在DiscuzX裏設置時路徑須要填寫:/usr/local/imagemagick/bin/ 而且禁用函數裏的exec要去掉才能夠正常使用。
5)、LNMP相關軟件目錄及文件位置
除去所必須的依賴包,LNMP一鍵安裝包會安裝一下軟件:
默認安裝軟件:
· Nginx
· MySQL
· PHP
· PHPMyAdmin
· Zend Optimizer
可選軟件:
註明可選的爲可以使用安裝腳本自行安裝,未註明的爲會自動安裝。
不必定可選包都適合你,按需安裝便可。
LNMP相關軟件安裝目錄
Nginx 目錄: /usr/local/nginx/
MySQL 目錄 : /usr/local/mysql/
MySQL數據庫所在目錄:/usr/local/mysql/var/
PHP目錄 : /usr/local/php/
PHPMyAdmin目錄 : 0.9版爲/home/wwwroot/phpmyadmin/ 1.0版爲 /home/wwwroot/default/phpmyadmin/ 強烈建議將此目錄重命名爲其不容易猜到的名字。phpmyadmin可本身從官網下載新版替換。
默認網站目錄 : 0.9版爲 /home/wwwroot/ 1.0版爲 /home/wwwroot/default/
Nginx日誌目錄:/home/wwwlogs/
/root/vhost.sh添加的虛擬主機配置文件所在目錄:/usr/local/nginx/conf/vhost/-------!!!!!!!!!!!!!!!!!!!!!!!
PureFtpd 目錄:/usr/local/pureftpd/
PureFtpd web管理目錄: 0.9版爲/home/wwwroot/default/ftp/ 1.0版爲 /home/wwwroot/default/ftp/
Proftpd 目錄:/usr/local/proftpd/
查看進程 ps auxw 換行查看進程
終止進程 pkill -9 php-fpm
開始進程 [root@CentOS6 selinux]# /root/lnmp start
平滑重啓nginx進程 pkill -HUP nginx
LNMP相關配置文件位置
Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
/root/vhost.sh添加的虛擬主機配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
PureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf
PureFtpd MySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.conf
Proftpd配置文件:/usr/local/proftpd/etc/proftpd.conf
Proftpd 用戶配置文件:/usr/local/proftpd/etc/vhost/用戶名.conf
LNMPA相關目錄文件位置
Apache目錄:/usr/local/apache/
Apache配置文件:/usr/local/apache/conf/httpd.conf
Apache虛擬主機配置文件目錄:/usr/local/apache/conf/vhost/
6)、LNMP狀態管理命令
LNMP狀態管理命令:
LNMP狀態管理: /root/lnmp {start|stop|reload|restart|kill|status}
Nginx狀態管理:/etc/init.d/nginx {start|stop|reload|restart}
MySQL狀態管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached狀態管理:/etc/init.d/memcached {start|stop|restart}
PHP-FPM狀態管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
PureFTPd狀態管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
ProFTPd狀態管理: /etc/init.d/proftpd {start|stop|restart|reload}
如重啓LNMP,輸入命令:/root/lnmp restart 便可,單獨重啓mysql:/etc/init.d/mysql restart
LNMPA狀態管理命令:
LNMPA狀態管理: /root/lnmpa {start|stop|reload|restart|kill|status}
Nginx狀態管理:/etc/init.d/nginx {start|stop|reload|restart}
MySQL狀態管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached狀態管理:/etc/init.d/memcached {start|stop|restart}
PureFTPd狀態管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
ProFTPd狀態管理: /etc/init.d/proftpd {start|stop|restart|reload}
Apache狀態管理:/etc/init.d/httpd {start|stop|restart|graceful|graceful-stop|configtest|status}
[root@CentOS6 selinux]# cd /etc/rc.d/init.d------------------快捷方式------同樣的效果
[root@CentOS6 init.d]# ls
abrt-ccpp certmonger ip6tables messagebus
Nginx爲源碼包所裝
[root@CentOS6 rc.d]# cd /etc/init.d----------------------------快捷方式--------同樣的效果
[root@CentOS6 init.d]# ls
abrt-ccpp certmonger ip6tables messagebus
4. 修改Nginx配置文件-------不是默認的配置文件 是通過修改優化的配置文件
nginx配置文件的位置:
[root@CentOS6 init.d]# vi /usr/local/nginx/conf/nginx.conf
user www www; ------------僞用戶 僞用戶組
[root@CentOS6 ~]# cat /etc/passwd | grep www
apache:x:48:48:Apache:/var/www:/sbin/nologin
www:x:508:509::/home/www:/sbin/nologin
Apache的僞用戶
[root@CentOS6 ~]# cat /etc/passwd | grep daemon
daemon:x:2:2:daemon:/sbin:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
(基本配置)
worker_processes 1; -------單位/個數 通常寫爲CPU的數量 通常是兩個
#啓動進程,一般設置成和cpu的數量相等。至關於cpu個數
error_log logs/nginx_error.log; ---------相對路徑--相對於安裝位置
#錯誤日誌
pid(進程id) vi /usr/local/nginx/logs/nginx.pid;
[root@CentOS6 ~]# vi /usr/local/nginx/logs/nginx.pid-----1588
root 1588 0.0 0.1 7072 796 ? Ss Jul02 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#主進程PID保存文件 --------判斷apache是否運行
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
#文件描述符數量---------不是最大併發鏈接數
Unix 系統最大鏈接併發數
[root@CentOS6 ~]# ulimit -a
max memory size (kbytes, -m) unlimited
open files (-n) 1024 --------打開文件
pipe size (512 bytes, -p) 8
[root@CentOS6 ~]# ulimit -SHn 65535-------此條命令須要每次開機都執行
[root@CentOS6 ~]# vi /etc/rc.local -------寫入開機自啓動
#!/bin/sh
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
ulimit -SHn 65535
open files (-n) 65535
events {
use epoll;
#網絡I/O模型,建議linux使用epoll,FreeBSD使用kqueue
#epoll是多路複用IO(I/O Multiplexing)中的一種方式,可是僅用於linux2.6以 上內 核,能夠大大提升nginx的性能
worker_connections 51200;
#單個工做進程最大容許鏈接數 最大併發鏈接數
}
http
#總體環境配置(apach默認配置)
{
include mime.types;(子配置文件)
default_type application/octet-stream;
#設定mime類型,文件傳送類型由mime.type文件定義
server_names_hash_bucket_size 128; #保存服務器名字的hash表大小
client_header_buffer_size 32k; #客戶端請求頭部緩衝區大小
large_client_header_buffers 4 32k; #最大客戶端頭緩衝大小
client_max_body_size 50m; #客戶端最大上傳文件大小(M)
sendfile on;
#sendfile 指令指定 nginx 是否調用 sendfile 函數(zero copy 方式)來輸出文 件,對於普通應用,必須設爲 on。若是用來進行下載等應用磁盤IO重負載應用,可 設置爲off,以平衡磁盤與網絡I/O處理速度,下降系統的uptime.
tcp_nopush on;
#這個是默認的,結果就是數據包不會立刻傳送出去,等到數據包最大時,一次性的 傳輸出去,這樣有助於解決網絡堵塞。(只在sendfile on時有效)
keepalive_timeout 60;
#鏈接超時時間
tcp_nodelay on;
#禁用nagle算法,也即不緩存數據。
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 256k;
#fastcgi設置
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;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
#開啓gzip網絡壓縮
#limit_zone crawler $binary_remote_addr 10m;
server_tokens off;
#隱藏客戶端頁面報錯nginx版本號(curl -I 192.168.4.154能夠查看,更加安全)
#log format
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#定義日誌格式
Server------每個server就是一個網站
{
listen 80;
#監聽80端口
server_name www.lnmp.org;
#服務器名
index index.html index.htm index.php;
#默認網頁文件
root /home/wwwroot/default;
#網頁主目錄
location ~ .*\.(php|php5)?$ 每個location都是一個匹配的區域
{
try_files $uri =404;
#分析文件是否存在,若是不存在報404錯誤
fastcgi_pass unix:/tmp/php-cgi.sock;
#指定FastCGI服務器監聽端口與地址。這裏使用unix socket
#nginx以unix-domain-socket方式鏈接fastcgi(php)。更快,適合大流量訪問
#另一種 nginx鏈接fastcgi的方式是http方式的[ 127.0.0.1:9000 方式鏈接 fastcgi(php)
fastcgi_index index.php;
#默認網頁文件
include fcgi.conf;
#fcgi.conf配置文件生效
}
location /status { -----------/不可省略
stub_status on;
access_log off;
}
#開啓status狀態監測----監控服務器時使用
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d; ---緩存30天
}
#靜態文件處理,保存期30天
location ~ .*\.(js|css)?$
{
expires 12h;
}
#匹配js和css文件處理,保存期12小時
access_log /home/wwwlogs/access.log access;日誌格式 調用前面的日誌格式
#正確訪問日誌
}
include vhost/*.conf;
#vhost/下子配置文件生效
}
5.配置開機啓動nginx,php-fpm,ulimit
1)nginx
Vi /etc/rc.local
/usr/local/nginx/sbin/nginx
2)php-fpm
Vi /etc/rc.local
/usr/local/php/sbin/php-fpm start
3)ulimit
Vi /etc/rc.local
ulimit -SHn 65535 ----------
4)mysql
Vi /etc/rc.local
/usr/local/mysql/bin/mysqld_safe --user=mysql &
一鍵安裝包已經完成自啓動,加入了chkconfig管理,能夠直接使用service命令和chkconfig命令管理
已經自動加入了開機自啓動 不須要在/etc/rc.local裏面再次寫入!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
使用chkconfig 作的開機自啓動
查看:
[root@CentOS6 init.d]# chkconfig --list | grep nginx
nginx 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
[root@CentOS6 init.d]# chkconfig --list | grep php-fpm
php-fpm 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
[root@CentOS6 init.d]#
6.檢查nginx配置文件語句錯誤
/usr/local/nginx/sbin/nginx -t
[root@CentOS6 ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@CentOS6 ~]#
7.平滑重啓nginx進程------先重啓沒有訪問的進程 讓客戶端感受不到
1)pkill -HUP nginx
2)kill -HUP `pgrep -uroot nginx`
Pgrep -uroot nginx 取出nginx主進程PID
3)/usr/local/nginx/sbin/nginx -s reload
8.配置nginx虛擬主機
Sina和sohu域名事先解析
Vi /usr/local/nginx/conf/nginx.conf
==èwww.sina.com公司網站
server
{
listen 80;
server_name www.sina.com;
index index.html index.htm index.php;
root /home/wwwroot/sina;
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
}
==èwww.sohu.com公司網站
server
{
listen 80;
server_name www.sohu.com;
index index.html index.htm index.php;
root /home/wwwroot/sohu;
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
}
重啓nginx
最後在客戶端測試虛擬主機www.baidu.com和www.sina.com兩家公司網站
[root@CentOS6 ~]# mkdir /home/wwwroot/sina
[root@CentOS6 ~]# mkdir /home/wwwroot/sohu
[root@CentOS6 ~]# vi /home/wwwroot/sina/index.html sina
[root@CentOS6 ~]# vi /home/wwwroot/sohu/index.html sohu
[root@CentOS6 ~]# pkill -HUP nginx
[root@CentOS6 ~]#
9.列表頁顯示
server
{
listen 80;
server_name www.sina.com;
index index.html index.htm index.php;
root /home/wwwroot/sina;
autoindex on; --------------------------apache的index權限
加入 autoindex on;
!pkill 調用最後一個以此字符串開頭的命令
[root@CentOS6 sina]# !pkill
pkill -HUP nginx
[root@CentOS6 sina]#
10.nginx狀態監控
location /nginxstatus{
stub_status on;
access_log off;
}
#客戶端訪問網址:http://IP/nginxstatus
11.rewrite正則過濾
location ~ \.php$ {
proxy_pass http://127.0.0.1;
}
Rewrite指令最後一項參數爲flag標記,支持的flag標記以下:
Last(文件跳轉)
中止執行當前這一輪的ngx_http_rewrite_module指令集,而後查找匹配改變後URI的新location;
Break
中止執行當前這一輪的ngx_http_rewrite_module指令集;
Redirect
在replacement字符串未以「http://」或「https://」開頭時,使用返回狀態碼爲302的臨時重定向;
Permanent(域名跳轉)
返回狀態碼爲301的永久重定向。
Last和break用來實現uri重寫,瀏覽器地址欄的url地址不變,但在服務器訪問的路徑發生了變化,redirect和permanent用來實現url跳轉,瀏覽器地址欄會顯示跳轉後的url地址,使用alias指令時必須使用last標記,使用proxy_pass指令時要使用break標記,last標記在本條rewrite規則執行完畢後,會對其所在的server{}標籤從新發起請求,而break標記則在本條規則匹配完成後,終止匹配,再也不匹配後面的規則.
例1:域名跳轉
輸入www.sina.com,跳轉到www.sohu.com
server
{
listen 80;
server_name www.sina.com;
index index.html index.htm index.php;
root /home/wwwroot/sina;
if ($http_host = www.sina.com) {
rewrite (.*) http://www.sohu.com permanent;(標記)
}
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
}
server
{
listen 80;
server_name www.sohu.com;
index index.html index.htm index.php;
root /home/wwwroot/sohu;
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
}
例2:文件跳轉
server
{
listen 80;
server_name www.sina.com;
index index.html index.htm index.php;
root /home/wwwroot/sina;
rewrite inde /indexa.html last;
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
}
12.代理負載均衡技術(反向代理)
若是是unix 使用squid+其餘支持 搭建
http
{
upstream myweb1 {
#定義地址池
server 192.168.244.10:80;
server 192.168.244.11:80;
}
server {
listen 80;
server_name www.sohu.com;
#使用www.sohu.com訪問
location / {
proxy_pass http://myweb1; --------------------把全部的apache請求轉發給web服務器
#使用地址池
proxy_set_header Host $host;
#利用HOST變量向後端服務器傳遞須要解析的客戶端訪問的域名(傳遞域名)
proxy_set_header X-Forwarded-For $remote_addr;
#$remote_addr 把客戶端真實IP賦予X-Forwarded-For。後端服務器才能獲取真實的客戶端IP。以便記錄日誌,要不日誌中記錄的訪問信息都是負載服務器,而不是客戶端(傳遞IP)
正常:客戶端-->請求---->反向代理服務器122 ->web服務器 請求很是小
正常:web服務器-->響應--->反向代理服務器-->(大數據回來響應)->宕機
加上以上兩句話的做用是當用戶輸入域名訪問的時候 反向代理服務器接收域名的同時把客戶端得ip傳給web服務器 web服務器響應的時候就會經過客戶端的ip繞過反向代理服務器 直接去響應客戶端 避免了反向服務器的宕機
}
}
}
1.全部的server刪掉
2.定義地址池 放入http內部
3.定義訪問網站 以及location配置
4.web服務器的數據庫一、2是能夠實現同步更新的(主從備份、主主備份)