RHEL7下 nginx 的詳細配置

Nginx (engine x) 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。
Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。
其特色是佔有內存少,併發能力強,事實上nginx的併發能力確實在同類型的網頁服務器中表現較好,
中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。html

紅帽7系統默認是沒有nginx這個安裝包的,因此咱們添加nginx的yumlinux

vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/rhel/7/$basearch/
gpgcheck=0
enable=1nginx

yum clean all
yum makecachevim

如今就能夠進行yum安裝了
yum install -y nginx後端

咱們先來熟悉一下nginx
vim /etc/nginx/conf.d/default.conf 默認配置目錄
如圖所示:網站默認路徑是 /usr/share/nginx/html
RHEL7下 nginx 的詳細配置
咱們來更改下網站目錄爲 /home/www/tang/
RHEL7下 nginx 的詳細配置
mkdir -p /home/www/tang
echo "tang" > /home/www/tang/index.html #首頁內容
實驗環境記得關閉防火牆很Selinux
systemctl stop firewalld
setenforce 0
systemctl restart nginx
客戶端訪問:ok
RHEL7下 nginx 的詳細配置
網站配置多站點有三種方法,分別是基於IP,基於端口,跟基於域名的
首先咱們先來配置基於IP的
單網卡配置多IP(此方法重啓會失效)
ifconfig ens33:0 192.168.120.74 netmask 255.255.255.0 up
ifconfig ens33:1 192.168.120.75 netmask 255.255.255.0 up
RHEL7下 nginx 的詳細配置服務器

建立各自及首頁
mkdir -p /home/www/74
mkdir -p /home/www/75
echo "192.168.120.74" > /home/www/74/index.html
echo "192.168.120.75" > /home/www/75/index.html
cd /etc/nginx/conf.d/
vim 74.conf
RHEL7下 nginx 的詳細配置併發

vim 75.conf
RHEL7下 nginx 的詳細配置負載均衡

systemctl restart nginxide

客戶端測試,網頁訪問192.168.120.74跟192.168.120.75,會出現不一樣的首頁
RHEL7下 nginx 的詳細配置性能

RHEL7下 nginx 的詳細配置

基於IP的多站點配置完成了, 這裏可能有人會問,我有些網站別人須要輸入密碼才能訪問要怎麼實現。
網站加密
yum -y install httpd-tools
vim /etc/nginx/conf.d/74.conf
RHEL7下 nginx 的詳細配置

auth_basic "Basic Auth"; //認證命名
auth_basic_user_file "/etc/nginx/.htpasswd"; //用戶密碼認證路徑

htpasswd -c /etc/nginx/.htpasswd tang   #生成賬號密碼(記得路徑就是圖上指定的路徑)

RHEL7下 nginx 的詳細配置
客戶端訪問192.168.120.74測試:(輸入密碼才能夠出現內容)
RHEL7下 nginx 的詳細配置

接下來咱們來配置基於端口的多網站,配置跟上面基本相同
mkdir -p /home/www/8888
mkdir -p /home/www/9999
echo "8888" > /home/www/8888/index.html
echo "9999" > /home/www/9999/index.html

cd /etc/nginx/conf.d/
vim 8888.conf
RHEL7下 nginx 的詳細配置

vim 9999.conf
RHEL7下 nginx 的詳細配置

客戶端測試:
RHEL7下 nginx 的詳細配置

RHEL7下 nginx 的詳細配置

基於端口也配置完成了,是否是很簡單,如今咱們來配置最後一個基於域名的,須要配置dns解析服務器才能實驗,
配置dns過去我就省略了,不會的看我前面的筆記
dns解析
RHEL7下 nginx 的詳細配置

mkdir -p /home/www/aaa
mkdir -p /home/www/bbb
echo "aaa" > /home/www/aaa/index.html
echo "bbb" > /home/www/bbb/index.html

cd /etc/nginx/conf.d/
vim aaa.conf
RHEL7下 nginx 的詳細配置

vim bbb.conf
RHEL7下 nginx 的詳細配置

systemctl restart nginx

客戶端測試(客戶端dns須要指定到服務器IP)
RHEL7下 nginx 的詳細配置

RHEL7下 nginx 的詳細配置

好了,虛擬主機的三種方法上面都配置完成了,命令區別基本不大
如今咱們來認識下nginx 的負載均衡吧
邏輯拓撲:
RHEL7下 nginx 的詳細配置

當用戶向nginx負載均衡請求訪問網站,nginx會將請求轉換給後天服務器

一、輪詢(默認)
每一個請求按時間順序逐一分配到不一樣的後端服務器,若是後端服務器down掉,能自動剔除。
vim /etc/nginx/conf.d/default.conf
添加在配置文件的最後面
upstream tang {
server 192.168.120.76;
server 192.168.120.77;
}
location / {
proxy_pass http://tang; #名字選擇上面定義的名字
proxy_redirect default;

RHEL7下 nginx 的詳細配置

systemctl restart nginx
客戶端服務測試:
RHEL7下 nginx 的詳細配置

weight
指定輪詢概率,weight和訪問比率成正比,用於後端服務器性能不均的 狀況。
upstream tang {
server 192.168.120.76 weight=4; #weight 是權重,默認1,越大,機率越高
server 192.168.120.77 weight=6;
server 192.168.120.78 weight=5 backup; #backup 是備用服務器,服務器所有崩潰後啓用
}

location / {
proxy_pass http://tang;
proxy_redirect default;

負載均衡配置也計較簡單,這裏就不測試了,留給大家試試看吧!!!

相關文章
相關標籤/搜索