Nginx 安裝和簡(jiǎn)單使用

nginx 特點(diǎn):

  • web 服務(wù)器, 輕量級(jí), 能處理大并發(fā)量
  • 反向代理服務(wù)器(負(fù)載均衡)

你可以輕松的在服務(wù)器上通過(guò) Nginx 部署 HTTP 靜態(tài)服務(wù)。

windows 下 Nginx 環(huán)境的安裝

下載壓縮包后進(jìn)行解壓,雙擊里面的 nginx.exe 即可運(yùn)行

linux 下 Nginx 環(huán)境的安裝

CentOS 下 yum 安裝
使用 yum 來(lái)安裝 Nginx
yum install nginx -y

ubuntu 下 apt-get 安裝
apt-get install nginx

使用 docker 安裝 nginx
請(qǐng)參考教程: Docker 安裝 Nginx | 菜鳥(niǎo)教程
https://www.runoob.com/docker/docker-install-nginx.html

linux 環(huán)境手動(dòng)安裝 nginx
1. 從 nginx 官網(wǎng)下載穩(wěn)定版 Stable version 安裝包
http://nginx.org/en/download.html

2. 安裝 Nginx 依賴(lài),pcre、openssl嘱蛋、gcc、zlib(推薦使? yum 源?動(dòng)安裝)

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

3. 解壓 Nginx 軟件包
tar -xvf nginx-1.17.8.tar

4. 進(jìn)?解壓之后的?錄 nginx-1.17.8
cd nginx-1.17.8

5. 命令?執(zhí)?./configure

6. 命令?執(zhí)? make

7. 命令?執(zhí)? make install,完畢之后在/usr/local/下會(huì)產(chǎn)??個(gè)nginx?錄

-bash: make: command not found - 解決辦法
一般出現(xiàn)這個(gè)-bash: make: command not found提示祟蚀,是因?yàn)榘惭b系統(tǒng)的時(shí)候使用的是最小化mini安裝,系統(tǒng)沒(méi)有安裝 make 等常用命令割卖,直接 yum 安裝即可前酿。
yum -y install gcc make

8. 進(jìn)入/usr/local/nginx/sbin, 鍵入 ./nginx 即可啟動(dòng)默認(rèn)80端口的nginx.

mac下 nginx 的使用

分別執(zhí)行下面這兩行命令,就會(huì)自動(dòng)安裝nginx鹏溯,等待安裝完成即可

brew install nginx

其他命令

  • brew search nginx
  • brew remove nginx

mac 下一些重要文件的路徑

核心安裝目錄 /usr/local/Cellar/nginx/x.y.z
啟動(dòng)文件在該目錄的bin下面
歡迎頁(yè)面在html下面

Docroot (服務(wù)器默認(rèn)路徑): /usr/local/var/www

The default port has been set in `/usr/local/etc/nginx/nginx.conf`to 8080 so that
nginx can run without sudo.

nginx will load all files in `/usr/local/etc/nginx/servers/`

To have launchd start nginx now and restart at login:
  `brew services start nginx`
Or, if you don't want/need a background service you can just run:
  `nginx`

其他命令:

brew services restart nginx 重啟 nginx 服務(wù)
brew services stop nginx 停止nginx服務(wù).

mac 安裝過(guò)程中遇到的問(wèn)題
$ brew install pcre
發(fā)現(xiàn)

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink .
/usr/local/opt is not writable.

然后試試brew link pcre 也不行

Error: Could not symlink .
/usr/local/opt is not writable.

使用$ sudo chown -R $(whoami):admin /usr/local發(fā)現(xiàn)還是沒(méi)用, 最終手動(dòng)創(chuàng)建/user/local/opt 文件夾解決了(Mac High Sierra 中不能改變/usr/local的擁有者的問(wèn)題)

常用命令

Nginx 讓新的配置生效 nginx -s reload
關(guān)閉命令: nginx -s stop
運(yùn)行以下命令查看 Nginx 版本罢维。nginx -v

如果是通過(guò)包管理器進(jìn)行安裝

運(yùn)行以下命令啟動(dòng) Nginx 服務(wù)。
systemctl start nginx = service nginx restart
運(yùn)行以下命令設(shè)置 Nginx 服務(wù)開(kāi)機(jī)自啟動(dòng)丙挽。
systemctl enable nginx
運(yùn)行以下命令設(shè)置 Nginx 禁止開(kāi)機(jī)自啟肺孵。
systemctl disable nginx
停止服務(wù)
systemctl stop nginx

配置文件所在目錄

  • 配置文件 /etc/nginx
  • 網(wǎng)頁(yè)存放文件 /usr/share/nginx/html

教程

如何在 linux 下 安裝多個(gè) nginx

./configure --prefix=/home/work/nginx2 ..... // 第二個(gè)nginx的安裝配置, 用于指定安裝目錄
make && make install

./configure --prefix=/home/work/nginx3 ..... // 第三個(gè)nginx的安裝配置
make && make install

功能演示

nginx 反向代理

這里用到了關(guān)鍵字 proxy_pass

server {
    listen 9000;
    server_name  localhost;

    location /risk_pdf {
        proxy_pass https://ebt.oss-cn-beijing.aliyuncs.com/PDF_SC;
    }
}

nginx 禁止限制某個(gè) IP 地址或網(wǎng)段訪問(wèn)服務(wù)器 - 不要學(xué)我說(shuō)話 - 博客園

https://www.cnblogs.com/hmycl/p/14416350.html

Nginx 下安裝 SSL 證書(shū)

  1. 申請(qǐng)證書(shū) todo

  2. 安裝證書(shū)

首先找到Nginx 配置目錄.例如我的目錄在/etc/nginx

在證書(shū)控制臺(tái)下載Nginx版本證書(shū)匀借。下載到本地的壓縮文件包解壓后包含:

.crt文件:是證書(shū)文件,crt是pem文件的擴(kuò)展名平窘。
.key文件:證書(shū)的私鑰文件(申請(qǐng)證書(shū)時(shí)如果沒(méi)有選擇自動(dòng)創(chuàng)建CSR吓肋,則沒(méi)有該文件)。

友情提示: .pem擴(kuò)展名的證書(shū)文件采用Base64-encoded的PEM格式文本文件瑰艘,可根據(jù)需要修改擴(kuò)展名是鬼。

  1. 放置 crt 證書(shū)文件和 key 私鑰文件并打開(kāi) Nginx 安裝目錄下 conf 目錄中的 nginx.conf 文件. 將其修改為 (以下屬性中 ssl 開(kāi)頭的屬性與證書(shū)配置有直接關(guān)系,其它屬性請(qǐng)結(jié)合自己的實(shí)際情況復(fù)制或調(diào)整) :
    /etc/pki/nginx/private/www.abc.com.key
    /etc/pki/nginx/server/www.abc.com.crt.pem
server {
 listen 443;
 server_name localhost;
 ssl on;
 root html;
 index index.html index.htm;

 ssl_certificate   cert/a.pem;
 ssl_certificate_key  cert/a.key;
 ssl_session_timeout 5m;
 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_prefer_server_ciphers on;

 location / {
     root html;
     index index.html index.htm;
 }
}

2. 重啟 Nginx 服務(wù)
進(jìn)入 nginx 可執(zhí)行目錄下紫新,輸入命令./nginx -s reload 即可.

301 重定向

301 重定向是很常見(jiàn)的需求均蜜,比如訪問(wèn) nowamagic.net,自動(dòng)跳到 www.nowamagic.net弊琴≌琢或者倒過(guò)來(lái),訪問(wèn) www.nowamagic.net 跳到 nowamagic.net敲董。Nginx 中配置 301 重定向(301 redirect)很容易紫皇,下面介紹下方法。

單獨(dú)為不帶 www 的 URL 單獨(dú)設(shè)一條 server 規(guī)則:

server {
    server_name  nowamagic.net;
    rewrite ^(.*) http://www.nowamagic.net$1 permanent;
}

nginx -s reload 即可腋寨。Nginx 的 301 配置還是很簡(jiǎn)單的聪铺。

記錄

如何將 nginx 添加到全局變量中(環(huán)境變量)

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/

nginx在windowns下路徑

實(shí)測(cè)有效

報(bào)錯(cuò)總結(jié)

使用 windows 版本的 nginx 啟動(dòng)時(shí)遇到(1113: No mapping for the Unicode character exists in the target multi-byte code page)這個(gè)錯(cuò)誤

解決:路徑里面包含有中文的緣故

解決有緩存的問(wèn)題

add_header Cache-Control no-store;

location / {
    root   html;
    index  index.html index.php;

    # 禁止緩存,每次都從服務(wù)器請(qǐng)求
    add_header Cache-Control no-store;
}

遇到的問(wèn)題

nginx reload 與 restart 的區(qū)別

reload --重新加載萄窜,reload 會(huì)重新加載配置文件铃剔,Nginx 服務(wù)不會(huì)中斷。而且 reload 時(shí)會(huì)測(cè)試 conf 語(yǔ)法等查刻,如果出錯(cuò)會(huì) rollback 用上一次正確配置文件保持正常運(yùn)行键兜。

restart --重啟(先stop后start),會(huì)重啟 Nginx 服務(wù)穗泵。這個(gè)重啟會(huì)造成服務(wù)一瞬間的中斷普气,如果配置文件出錯(cuò)會(huì)導(dǎo)致服務(wù)啟動(dòng)失敗,那就是更長(zhǎng)時(shí)間的服務(wù)中斷了佃延。
所以现诀,如果是線上的服務(wù),修改的配置文件一定要備份履肃。為了保證線上服務(wù)高可用仔沿,最好使用 reload。

還有一點(diǎn)尺棋,reload 只是重新加載配置文件封锉,不會(huì)清理 nginx 的一些緩存,在有些需要清理緩存的場(chǎng)景需要 restart ,例如 upstream 后端配置的集群服務(wù)地址是域名而不是 ip烘浦,當(dāng)后端 IP 變了抖坪,就需要清除該域名的解析緩存,此時(shí)需要重啟而不是 reload闷叉。

參考

《 http狀態(tài)碼301和302詳解及區(qū)別——辛酸的探索之路》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末擦俐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子握侧,更是在濱河造成了極大的恐慌蚯瞧,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,029評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件品擎,死亡現(xiàn)場(chǎng)離奇詭異埋合,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)萄传,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)甚颂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人秀菱,你說(shuō)我怎么就攤上這事振诬。” “怎么了衍菱?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,570評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵赶么,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我脊串,道長(zhǎng)辫呻,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,535評(píng)論 1 284
  • 正文 為了忘掉前任琼锋,我火速辦了婚禮放闺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缕坎。我一直安慰自己雄人,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,650評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布念赶。 她就那樣靜靜地躺著,像睡著了一般恰力。 火紅的嫁衣襯著肌膚如雪叉谜。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,850評(píng)論 1 290
  • 那天踩萎,我揣著相機(jī)與錄音停局,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛董栽,可吹牛的內(nèi)容都是我干的码倦。 我是一名探鬼主播,決...
    沈念sama閱讀 39,006評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼锭碳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼袁稽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起擒抛,我...
    開(kāi)封第一講書(shū)人閱讀 37,747評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤推汽,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后歧沪,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體歹撒,經(jīng)...
    沈念sama閱讀 44,207評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,536評(píng)論 2 327
  • 正文 我和宋清朗相戀三年诊胞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了暖夭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,683評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撵孤,死狀恐怖迈着,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情早直,我是刑警寧澤寥假,帶...
    沈念sama閱讀 34,342評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站霞扬,受9級(jí)特大地震影響糕韧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜喻圃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,964評(píng)論 3 315
  • 文/蒙蒙 一萤彩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧斧拍,春花似錦雀扶、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,772評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至昂勉,卻和暖如春浪册,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岗照。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,004評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工村象, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留笆环,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,401評(píng)論 2 360
  • 正文 我出身青樓厚者,卻偏偏與公主長(zhǎng)得像躁劣,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子库菲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,566評(píng)論 2 349