Nginx的安裝铐达、常用命令及反向代理、負(fù)載均衡檬果、動(dòng)靜分離配置

一瓮孙、概述

Nginx的特性:

  • 反向代理
    • 正向代理:在客戶端(瀏覽器)配置代理服務(wù)器唐断,通過(guò)代理服務(wù)器進(jìn)行互聯(lián)網(wǎng)訪問(wèn)。
    • 反向代理
      • 反向代理杭抠,客戶端對(duì)代理是無(wú)感知的脸甘,因?yàn)榭蛻舳瞬恍枰魏闻渲镁涂梢栽L問(wèn),我們只需要將請(qǐng)求發(fā)送到反向代理服務(wù)器祈争,由反向代理服務(wù)器去選擇目標(biāo)服務(wù)器獲取數(shù)據(jù)后,在返回給客戶端斤程,此時(shí)反向代理服務(wù)器和目標(biāo)服務(wù)器對(duì)外就是一個(gè)服務(wù)器,暴露的是代理服務(wù)器地址菩混,隱藏了真實(shí)服務(wù)器IP地址忿墅。
  • 負(fù)載均衡
    • 單個(gè)服務(wù)器解決不了,我們?cè)黾臃?wù)器的數(shù)量沮峡,然后將請(qǐng)求分發(fā)到各個(gè)服務(wù)器上,將原先請(qǐng)求集中到單個(gè)服務(wù)器上的情況改為將請(qǐng)求分發(fā)到多個(gè)服務(wù)器上,將負(fù)載分發(fā)到不同的服務(wù)器疚脐,也就是我們所說(shuō)的負(fù)載均衡
  • 動(dòng)靜分離
    • 為了加快網(wǎng)站的解析速度,可以把動(dòng)態(tài)頁(yè)面和靜態(tài)頁(yè)面由不同的服務(wù)器來(lái)解析邢疙,加快解析速度棍弄。降低原來(lái)單個(gè)服務(wù)器的壓力。

二疟游、Nginx安裝

安裝相關(guān)依賴

gcc
pcre
openssl
zlib

命令

yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

查看安裝是否成功

pcre-config --version

安裝Nginx

① 下載nginx呼畸,兩種方式

a. 直接下載.tar.gz安裝包,地址:https://nginx.org/en/download.html

b. 使用wget命令下載(推薦)颁虐。確保系統(tǒng)已經(jīng)安裝了wget蛮原,如果沒(méi)有安裝,執(zhí)行 yum install wget 安裝另绩。

wget -c https://nginx.org/download/nginx-1.19.0.tar.gz

② 解壓儒陨、進(jìn)入目錄:

tar -zxvf nginx-1.19.0.tar.gz
cd nginx-1.19.0

③ 配置:

其實(shí)在 nginx-1.12.0 版本中你就不需要去配置相關(guān)東西,默認(rèn)就可以了笋籽。當(dāng)然蹦漠,如果你要自己配置目錄也是可以的。
1.使用默認(rèn)配置

./configure

2.自定義配置(不推薦)

$ ./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/conf/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

注:將臨時(shí)文件目錄指定為/var/temp/nginx车海,需要在/var下創(chuàng)建temp及nginx目錄

④ 編輯安裝

make && make install

在安裝之后笛园,在/usr/local文件夾下會(huì)有一個(gè)nginx文件夾。

查看版本號(hào)(使用nginx操作命令前提條件:必須進(jìn)入nginx的目錄/usr/local/nginx/sbin.)

./nginx -v

查找安裝路徑:

whereis nginx

⑤ 啟動(dòng)侍芝,停止nginx

# 進(jìn)入Nginx目錄
cd /usr/local/nginx/sbin/
# 啟動(dòng)Nginx
./nginx 
# 停止Nginx
./nginx -s stop
./nginx -s quit
# 重新加載Nginx
./nginx -s reload

查詢nginx進(jìn)程:

ps aux|grep nginx

啟動(dòng)之后用瀏覽器訪問(wèn)服務(wù)器的IP地址就可以看到Nginx了喘沿。

image.png

查看防火墻開放的端口:

firewall-cmd --list-all

設(shè)置開放的端口號(hào):

sudo firewall cmd --add-port=80/tcp --permanent

防火墻:

systemctl start firewalld.service     啟動(dòng)
systemctl enable firewalld.service     開機(jī)啟動(dòng)
systemctl stop firewalld.service     停止
systemctl disable firewalld.service     禁止開機(jī)啟動(dòng)
systemctl status firewalld.service   查看狀態(tài)
firewall-cmd --state    查看狀態(tài)

三、Nginx常用命令

要進(jìn)入Nginx的目錄才能使用Nginx的命令竭贩,Nginx目錄:/usr/local/nginx/sbin

  • 查看Nginx版本號(hào)

    • ./nginx -v
      
    • image.png
  • 啟動(dòng)Nginx

    • ./nginx 
      
    • image.png
  • 重加載配置文件,不用重啟Nginx

    • ./nginx -s reload
      

四莺禁、Nginx的配置文件

配置文件的位置:/usr/local/nginx/conf/nginx.conf

Nginx的配置文件有三部分:

  • 全局塊
  • Events塊
  • Http塊

全局塊:

  • 從配置文件開始到events之前的內(nèi)容留量,主要會(huì)設(shè)置一些影響Nginx服務(wù)器整體運(yùn)行的命令配置指令。
  • 例如:worker_processes 1;表示Nginx處理并發(fā)的數(shù)量。

Events塊:

  • Events塊設(shè)計(jì)的指令主要影響Nginx服務(wù)器與用戶的網(wǎng)絡(luò)連接楼熄。
  • 例如:worker_connections 1024;表示Nginx支持的最大連接數(shù)忆绰。

Http塊:

  • Http塊又包括Http全局塊和Server塊。
  • Http全局塊的指令包括:文件引入可岂、MIME-TYPE定義错敢、日志自定義、連接超時(shí)時(shí)間缕粹、單鏈接請(qǐng)求數(shù)上限等稚茅。

五、Nginx配置反向代理

5.1. 反向代理1

目的:實(shí)現(xiàn)在瀏覽器中輸入www.123.com跳轉(zhuǎn)到服務(wù)器的Tomcat主頁(yè)平斩。

5.1.1. 準(zhǔn)備工作

準(zhǔn)備工作:

  • 安裝jdk

  • 安裝亚享、啟動(dòng)Tomcat

安裝JDK

sudo yum install java-1.8.0

查看Java版本

java -version

下載Tomcat(直接下載很慢的,可以把安裝包下載下來(lái)再放到服務(wù)器上)

wget https://downloads.apache.org/tomcat/tomcat-7/v7.0.107/bin/apache-tomcat-7.0.107.tar.gz

在/usr/local目錄下新建tomcat文件夾

cd /usr/local
mkdir tomcat

返回到Tomcat壓縮包的下載目錄绘面,解壓壓縮文件到tomcat文件夾下

sudo tar -zxvf apache-tomcat-7.0.107.tar.gz -C /usr/local/tomcat

進(jìn)入到 Tomcat 的命令目錄

cd /usr/local/tomcat/apache-tomcat-7.0.107/bin

啟動(dòng)tomcat

./startup.sh
image.png

對(duì)外開放訪問(wèn)端口(防火墻如果已經(jīng)關(guān)閉就不用了)

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

在瀏覽器訪問(wèn)服務(wù)器ip:8080

image.png

如果是使用的阿里云等服務(wù)器欺税,訪問(wèn)不了可以在cmd中輸入命令telnet 服務(wù)器ip 端口,如果無(wú)法連同揭璃,說(shuō)明端口沒(méi)有開晚凿,可能是實(shí)例安全組沒(méi)有配置開放這個(gè)端口。

5.1.2. 配置

在windows系統(tǒng)的host文件進(jìn)行域名和ip對(duì)應(yīng)關(guān)系的配置瘦馍。

host文件存放目錄:C:\Windows\System32\drivers\etc

image.png

用編輯器打開host文件歼秽,將ip地址和url放到文件中,如果hosts文件無(wú)法編輯扣墩,去修改一下權(quán)限哲银,或者看一下文件是不是只讀的。

修改權(quán)限參考:https://jingyan.baidu.com/article/624e7459b194f134e8ba5a8e.html

image.png
image.png

這時(shí)候在瀏覽器訪問(wèn)www.123.com:8080可以訪問(wèn)到Tomcat呻惕,但是我們的目的是使用www.123.com就可以直接訪問(wèn)Tomcat荆责。所以繼續(xù)配置。

在Nginx中配置反向代理

將server中的server_name改為我們的服務(wù)器IP(原來(lái)的server_name是localhost)

在server的location部分亚脆,在root和index之間加上如下內(nèi)容:

proxy_pass http://127.0.0.1:8080;
image.png

啟動(dòng)Nginx或重新加載配置文件做院。

在瀏覽器輸入www.123.com來(lái)訪問(wèn)。

image-20201201133907434.png

就可以訪問(wèn)了濒持!

5.2. 反向代理2

目的:當(dāng)訪問(wèn)服務(wù)器ip:9001/edu/键耕,跳轉(zhuǎn)到8080端口,當(dāng)訪問(wèn)服務(wù)器ip:9001/vod/柑营,跳轉(zhuǎn)到8081端口屈雄。

5.2.1. 準(zhǔn)備工作

在反向代理1的基礎(chǔ)上,還要準(zhǔn)備另一個(gè)tomcat

再創(chuàng)建一個(gè)tomcat02目錄官套,將之前下載的tomcat解壓到tomcat02目錄中去酒奶。

tomcat02目錄也是新建在了/usr/local/下蚁孔。

mkdir tomcat02

解壓

sudo tar -zxvf apache-tomcat-7.0.107.tar.gz -C /usr/local/tomcat02

進(jìn)入tomcat02下的tomcat目錄

cd /usr/local/tomcat02/apache-tomcat-7.0.107

要修改這個(gè)tomcat的幾個(gè)端口,配置文件在conf/server.xml中

vim conf/server.xml

修改8005為8015惋嚎,8080為8081

保存退出后杠氢,啟動(dòng)tomcat

cd bin
./startup.sh

在瀏覽器輸入服務(wù)器ip:8080服務(wù)器ip:8081看看是否都可以訪問(wèn)到tomcat,注意8081的端口是否開啟了另伍。

在tomcat目錄的apache-tomcat-7.0.107下的webapps下鼻百,新建文件夾edu

cd /usr/local/tomcat/apache-tomcat-7.0.107/webapps
mkdir edu
cd edu
vim a.html

在a.html輸入如下內(nèi)容

<h1>edu:8080</h1>
<h2>hello!</h2>

保存退出

在瀏覽器訪問(wèn)服務(wù)器ip:8080/edu/a.html查看效果

image-20201201140302419.png

同樣的方式在tomcat02下也新建這樣一個(gè)頁(yè)面

cd /usr/local/tomcat02/apache-tomcat-7.0.107/webapps
mkdir vod
cd vod
vim a.html

在a.html輸入如下內(nèi)容

<h1>vod:8081</h1>
<h2>hello!</h2>

保存退出

在瀏覽器訪問(wèn)服務(wù)器ip:8081/vod/a.html查看效果

image-20201201140634631.png

5.2.2. 配置

Nginx的配置文件目錄為/usr/local/nginx/conf

cd /usr/local/nginx/conf
vim nginx.conf

在配置文件的最后一個(gè)}前加上如下內(nèi)容,要替換成自己的服務(wù)器IP

server {
    listen 9001;
    server_name 服務(wù)器ip;
    
    location ~/edu/{
        proxy_pass http://127.0.0.1:8080;
    }
    location ~/vod/{
        proxy_pass http://127.0.0.1:8081;
    }
}

啟動(dòng)Nginx或重新加載配置文件摆尝,注意9001端口要開放温艇。

最后訪問(wèn)服務(wù)器IP:9001/edu/a.html服務(wù)器IP:9001/vod/a.html

六、Nginx配置負(fù)載均衡

目的:訪問(wèn)服務(wù)器IP/edu/a.html的時(shí)候结榄,實(shí)現(xiàn)負(fù)載均衡效果中贝,使訪問(wèn)平均到8080和8081端口去。

6.1. 準(zhǔn)備工作

還是需要兩個(gè)Tomcat臼朗,這兩個(gè)Tomcat的webapps下都要有edu目錄邻寿,edu下存放一個(gè)a.html頁(yè)面。

在前面的基礎(chǔ)上视哑,我們只需要在tomcat02中的webapps文件下新建edu目錄和a.html文件即可绣否。

cd /usr/local/tomcat02/apache-tomcat-7.0.107/webapps
mkdir edu
cd vod
cp a.html ../edu

進(jìn)入到edu下查看是否有a.html文件。

cd ../edu
ls

可以修改一下這個(gè)a.html文件的內(nèi)容挡毅。

6.2. 配置

進(jìn)入到Nginx的配置文件

cd /usr/local/nginx/conf
vim nginx.conf

首先蒜撮,在http塊中,加入如下內(nèi)容

    upstream MyTomcatServer {
        server 118.31.45.92:8080;
        server 118.31.45.92:8081;
    }
image-20201201143245459.png

再將server中的server_name改為服務(wù)器的IP地址

最后在location的root和index之間加上一行proxy_pass http://MyTomcatServer;這里的MyTomcatServer是在http中配置的跪呈,是剛剛填寫的upstream后面的內(nèi)容段磨。

然后退出保存,重新載入Nginx配置文件耗绿。

在瀏覽器訪問(wèn)http://服務(wù)器IP/edu/a.html苹支,然后不斷刷新這個(gè)頁(yè)面,會(huì)發(fā)現(xiàn)頁(yè)面在Tomcat和Tomcat02的兩個(gè)edu/a.html之間跳轉(zhuǎn)误阻。

七债蜜、Nginx配置動(dòng)靜分離

Nginx動(dòng)靜分離簡(jiǎn)單來(lái)說(shuō)就是把動(dòng)態(tài)請(qǐng)求和靜態(tài)請(qǐng)求分開。

7.1. 準(zhǔn)備工作

在Linux系統(tǒng)中準(zhǔn)備一些靜態(tài)資源究反。在任意位置新建目錄rm_test寻定,在這個(gè)目錄下新建兩個(gè)文件夾page和pic。在page文件夾下放一些Html頁(yè)面精耐,在pic文件夾下放一些圖片狼速,可以使用Xshell的Xftp工具來(lái)拖動(dòng)文件。

在page文件下卦停,我放置了a.html唐含;在pic文件夾下浅浮,放置了1.jpg和2.jpg。

7.2. 配置

在Nginx配置文件中配置捷枯。

先把server的server_name改成服務(wù)器的IP。

然后在server_name下面的location后加上目錄page专执,root填寫為rm_test淮捆。(不要寫反了)

在location下再寫一個(gè)location,內(nèi)容如下:

image-20201201150336950.png

也可以在第二個(gè)root下面再加一行autoindex on;

保存退出本股,重新加載配置文件攀痊。

用瀏覽器訪問(wèn):http://服務(wù)器IP/page/a.html,查看效果:

image-20201201150617737.png

訪問(wèn)http://服務(wù)器IP/pic/1.jpg拄显,查看效果

image-20201201150852964.png

如果配置了剛剛的autoindex on;苟径,訪問(wèn)http://服務(wù)器IP/pic可查看到如下效果:

image-20201201151016449.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市躬审,隨后出現(xiàn)的幾起案子棘街,更是在濱河造成了極大的恐慌,老刑警劉巖承边,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遭殉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡博助,警方通過(guò)查閱死者的電腦和手機(jī)险污,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)富岳,“玉大人蛔糯,你說(shuō)我怎么就攤上這事〗咽剑” “怎么了蚁飒?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)脖镀。 經(jīng)常有香客問(wèn)我飒箭,道長(zhǎng),這世上最難降的妖魔是什么蜒灰? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任弦蹂,我火速辦了婚禮,結(jié)果婚禮上强窖,老公的妹妹穿的比我還像新娘凸椿。我一直安慰自己,他們只是感情好翅溺,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布脑漫。 她就那樣靜靜地躺著髓抑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪优幸。 梳的紋絲不亂的頭發(fā)上吨拍,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音网杆,去河邊找鬼羹饰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛碳却,可吹牛的內(nèi)容都是我干的队秩。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼昼浦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼馍资!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起关噪,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鸟蟹,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后色洞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體戏锹,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年火诸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锦针。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡置蜀,死狀恐怖奈搜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盯荤,我是刑警寧澤馋吗,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站秋秤,受9級(jí)特大地震影響宏粤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜灼卢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一绍哎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鞋真,春花似錦崇堰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)繁莹。三九已至,卻和暖如春特幔,著一層夾襖步出監(jiān)牢的瞬間咨演,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工蚯斯, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留雪标,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓溉跃,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親告抄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子撰茎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345