Nginx安裝及簡單使用

2021-07-13 16:10:51 字數 4664 閱讀 6334

1.主要內容:

nginx的基礎

特性配置部署

優化(了解)

2.nginx 是什麼?

nginx是乙個開源的,支援高效能,高併發的www服務和**服務軟體---web服務軟體。

它是由俄羅斯人igor sysoev 開發的,

優點:

效能:占用的系統資源更少,3萬併發開啟10個執行緒小號記憶體200mb

支援更多的併發連線,幾萬併發小事情

達到更高的訪問效率

支援非同步網路i/o事件模型epoll(linux 2.6+)

功能:優秀的web服務軟體,支援反向**負載均衡及快取服務

**軟體有:lvs, haproxy等軟體,為什麼選擇呢?

nginx部署更簡單,方便啊

快取:他又類似squid等快取服務軟體(很少用)

利用自身的proxy_cache 模組實現類squid等專業快取功能

安裝配置:更方便,簡單,靈活

支援的作業系統:

unix,linux, bsd, mac os x, solaris, microsoft等作業系統

常用的組合環境:lnmp 或lemp(e 取自nginx的engine x)

2023年web服務軟體排名:

1.apache  32.40%

2.nginx   14.29%

3.microsoft  [laɪt] [spiːd] 31.65%

4.google servers 2.07%

5.tomcat 0.4%

3.nginx的基本特性

a)可針對靜態資源高速高併發訪問及快取

b)可使用反向**加速,並且可進行資料快取。

c)據有簡單負載均衡、節點監控檢測和容錯功能

d)支援fastcgi服務的快取加速

cgi全稱是「公共閘道器介面」(common gateway inte***ce),

http伺服器與你的或其它機器上的程式進行「交談」的一種工具,

其程式一般執行在網路伺服器上。

cgi可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環境變數。

如php,perl,tcl等。

相對於cgi來說fastcgi有兩點是和其不同的。

第一點是fastcgi的程序是永久性的,也就是說用於處理請求的程序隨著請求的結束並不會退出,而是繼續執行等待有新的請求來處理。

這樣就解決了cgi由於頻繁的建立和關閉程序所帶來的效能問題;

第二點是fastcgi和web伺服器之間的通訊方式是和cgi不同的。

並且通訊時全雙工的模式

f)支援fastcgi, uwsgi, scgi, memcached servers的加速和快取

g)具有模組化的架構

4.nginx所具有其他的www服務特性:

a)支援基於名字,埠及ip的多虛擬主機站點

b)支援keep-alive和pipelined連線

c)可進行簡單,方便,靈活的配置和管理

d)支援修改nginx配置,並且在**上線時,可平滑重啟

平滑重啟:

nginx 執行新的工作程序並從容關閉舊的工作程序,通知工作程序關閉監聽套接字,

但是繼續為當前連線的客戶提供服務

所有的客戶端的服務完成後,舊的工作程序被關閉

e)可自定義訪問日誌格式,臨時緩衝寫日誌操作,快速日誌輪詢及通過rsyslog處理日誌

f)可利用訊號控制nginx程序

g)支援rewrite模組,支援uri重寫及正規表示式匹配

h)支援flv流和mp4流技術產品應用

i)支援http響應速率限制

j)支援同一ip位址的併發連線或請求數限制

k)支援郵件服務**

5.編譯安裝nginx環境:

1.準備工作:

1.檢視當前系統版本:

cat /etc/redhat-release  --centos6.6

2.安裝nginx所需的pcre庫及一些包    --用途(為了使nginx具有uri重寫功能rewrite)    

通常採用yum的方式:

配置yum源(採用網路源)

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

yum -y install pcre pcre-devel 檢視版本:rpm -qa pcre

3.選擇版本:

穩定版,開發版,歷史穩定版

首先穩定版(最新版晚6-10個月為佳)

4.為神馬安裝openssl-devel,因為https服務需要這個模組

什麼是https呢?

a)http叫超文字傳輸協議,使用tcp埠80,預設情況下資料是明文傳送的,

資料可以通過抓包工具捕獲到,因此在internet上,

有些比較重要的站點的http伺服器需要使用pki(公鑰基礎結構)技術來對資料加密!

這也就是https了;

b)https叫安全的超文字傳輸協議,使用tcp埠443,

他的資料會用pki中的公鑰進行加密,

這樣抓包工具捕獲到的資料報也沒有辦法看包中的內容,安全性大大提高,

要解密資料的話就要用到pki中的私鑰。

5.安裝

useradd nginx -s /sbin/nologin -m 建立nginx使用者並禁止此使用者登入系統

tail -1 /etc/passwd 檢視使用者是否存在

tar xf nginx-1.6.3.tar.gz -解壓

cd nginx-1.6.3 --進入解壓目錄

./configure 配置

--user=nginx 程序使用者許可權

--group=nginx 程序使用者組許可權

--prefix=/usr/local/nginx1.6.3 設定安裝路徑

--with-http_stub_status_module 啟用狀態資訊

--with-http_ssl_module 啟用ssl功能

make 編譯

make install 安裝

6.此時不算安裝完,需要啟動前檢查配置檔案語法

/usr/local/nginx1.6.3/sbin/nginx -t

7.啟動nginx服務

/usr/local/nginx1.6.3/sbin/nginx

8.檢視服務是否啟動成功,方法:檢視埠

lsof -i :80

netstat -lnt | grep 80

9.訪問127.0.0.1  | curl 127.0.0.1

10.總結:安裝容易出現的錯誤:

1.nginx: [emerg] getpwnam("nginx") failed

2.訪問不了頁面:

1.關閉selinux setenforce 0 --臨時關閉selinux的方法getenforce(檢視)

2.關閉防火牆 /etc/init.d/iptables stop --暫時關閉防火牆

3.檢視日誌:cat /usr/local/nginx1.6.3/logs/error.log

4.ping ip 和檢視埠

11. server

12.重啟服務

方法1:殺程序重啟

a)

殺程序

lsof -i :80

kill -9 pid

重啟/usr/local/nginx1.6.3/sbin/nginx

b)

ps -ef | grep nginx |awk ''|  xargs kill -9

/usr/local/nginx1.6.3/sbin/nginx

方法2:配置檔案重啟

a)

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

-c制定配置檔案的路徑,不加-nginx會自動載入預設路徑的配置檔案。

b)

/usr/local/nginx/sbin/nginx -t 檢查語法

/usr/local/nginx/sbin/nginx -h --檢視幫助

#-s signal : send signal to a master process: stop, quit, reopen, reload

/usr/local/nginx/sbin/nginx -s reload (reload如果語法錯誤不會成功,有時候不輸出錯誤)

c)

把nginx的啟動檔案放在/etc/init.d裡面

server nginx restart

chkconfig --add nginx ---意義是開機自啟動

Nginx 安裝及使用

wget 2 安裝依賴包 yum y install zlib zlib devel openssl openssl devel pcre pcre devel 3 建立組 groupadd r nginx 4 建立使用者 useradd r g nginx s sbin nologin d usr...

nginx安裝及使用

進入 usr local webserver nginx sbin,啟動指令碼在這個檔案下 配置在 usr local webserver nginx conf下的nginx.conf中 1 簡單方向 訪問192.169.43.188 80跳轉至192.168.43.114 8080 2 通過正規表...

Nginx安裝及使用

切換到root下安裝 centos su root ubuntu sudo su 切換資料夾 cd usr local src apt get install build essential apt get install libtool yum y install gcc automake aut...