小白也可以完成的0基礎部署Nginx服務
1. Nginx介紹:
1.1 Nginx是什么?
Nginx(“engine x”)是一個開源的,支持高性能、高并發(fā)的www服務和代理服務軟件。
由俄羅斯人Igor Sysoev開發(fā),最初應用于俄羅斯大型網(wǎng)站www.rambler.ru上。
Nginx具有高并發(fā)、占用系統(tǒng)資源少等特性。
Nginx可以運行在UNIX、Linux、DSB、Mac OS X、Solaris及Windows等操作系統(tǒng)上。
1.2 Nginx主要特性
支持高并發(fā):能支持幾萬并發(fā)連接
資源消耗少:三萬并發(fā)連接下,開始10個線程消耗內(nèi)存不到200MB。
可以做HTTP反向代理及加速緩存,即負載均衡功能,內(nèi)置對RS節(jié)點服務器健康檢查功能
具備Squid等專業(yè)緩存軟件的緩存功能
支持異步網(wǎng)絡I/O事件模型
1.3 Nginx軟件的主要功能應用
作為Web服務軟件
反向代理及負載均衡服務
前端業(yè)務數(shù)據(jù)緩存服務
2. Nginx Web服務
2.1 Nginx作為Web服務器應用場景
使用Nginx運行HTML、JS、CSS、小圖片等靜態(tài)數(shù)據(jù)
Nginx結(jié)合FastCGI運行PHP等動態(tài)程序
Nginx結(jié)合Tomcat/Resin等支持Java動態(tài)程序
2.2 如何選擇Web服務器
工作中,根據(jù)需求來選擇合適的業(yè)務服務軟件:
- 靜態(tài)業(yè)務:高并發(fā)場景,首選采用Nginx
- 動態(tài)業(yè)務:Nginx與Apache都可,建議Nginx
- 靜態(tài)+動態(tài)業(yè)務:推薦Nginx
3 編譯安裝Nginx
安裝方法多種,本文使用編譯安裝方式。如果需要大規(guī)模部署,可將業(yè)務需求定制好rpm包,然后通過Ansible安裝。
3.1 安裝pcre庫
查看當前系統(tǒng)版本:
cat /etc/redhat-release uname -r
結(jié)果:
CentOS release 6.10 (Final)
2.6.32-754.el6.x86_64
采用yum方式安裝pcre:
yum -y install pcre pcre-devel rpm -qa pcre pcre-devel
結(jié)果:
pcre-devel-7.8-7.el6.x86_64
pcre-7.8-7.el6.x86_64
3.2 安裝Nginx
檢查是否裝有openssl、openssl-devel:
rpm -qa openssl openssl-devel
結(jié)果:如果沒有,使用yum安裝
openssl-1.0.1e-57.el6.x86_64
openssl-devel-1.0.1e-57.el6.x86_64
創(chuàng)建nginx包存放目錄:
mkdir -p /app/nginx-1.8.1 mkdir -p /server/tools cd /server/tools/
下載nginx軟件包:
官方地址:www.nginx.rog
wget -q http://nginx.org/download/nginx-1.8.1.tar.gz
創(chuàng)建nginx用戶:
useradd nginx -s /sbin/nologin -M
解壓軟件包并進入解壓后的目錄:
tar xf nginx-1.8.1.tar.gz cd nginx-1.8.1
進行編譯:
編譯模塊可以通過./configure --help查看
./configure --user=nginx --group=nginx --prefix=/app/nginx-1.8.1/ --with-http_stub_status_module --with-http_ssl_module
安裝:
make make install
創(chuàng)建軟鏈接:方便使用以及版本升級
ln -s /app/nginx-1.8.1/ /app/nginx
啟動前測試:
/app/nginx/sbin/nginx -t
結(jié)果:
nginx: the configuration file /app/nginx-1.8.1//conf/nginx.conf syntax is oknginx: configuration file /app/nginx-1.8.1//conf/nginx.conf test is successful
啟動Nginx服務并檢查端口:
/app/nginx/sbin/nginx netstat -utpln | grep 80
結(jié)果:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13689/nginx
檢查Nginx啟動結(jié)果:以下內(nèi)容代表啟動成功
curl 192.168.1.31
結(jié)果:
<!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a rel="external nofollow" >nginx.org</a>.<br/> Commercial support is available at <a rel="external nofollow" >nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>
4. Nginx目錄結(jié)構(gòu)與配置文件
4.1 Nginx目錄結(jié)構(gòu)說明
tree /app/nginx
/app/nginx ├── client_body_temp ├── conf #nginx配置文件目錄 │ ├── fastcgi.conf #fastcgi相關參數(shù)配置文件 │ ├── fastcgi.conf.default │ ├── fastcgi_params #fastcgi參數(shù)文件 │ ├── fastcgi_params.default │ ├── koi-utf │ ├── koi-win │ ├── mime.types #媒體類型 │ ├── mime.types.default │ ├── nginx.conf #Nginx主配置文件 │ ├── nginx.conf.default │ ├── scgi_params #scgi配置文件 │ ├── scgi_params.default │ ├── uwsgi_params #uwsgi配置文件 │ ├── uwsgi_params.default │ └── win-utf ├── fastcgi_temp #fastcgi臨時數(shù)據(jù)文件 ├── html #默認站點目錄 │ ├── 50x.html #錯誤頁面顯示文件 │ └── index.html #默認的站點首頁文件 ├── logs #默認日志路徑 │ ├── access.log #默認訪問日志文件 │ ├── error.log #默認錯誤日志文件 │ └── nginx.pid #Nginx的pid文件 ├── proxy_temp #臨時目錄 ├── sbin #Nginx命令目錄 │ ├── nginx #啟動命令 │ └── nginx.old ├── scgi_temp #臨時目錄 └── uwsgi_temp #臨時目錄 9 directories, 22 files
4.2 Nginx主配置文件
去注釋顯示配置文件:
egrep -v "#|^$" /app/nginx/conf/nginx.conf.default
結(jié)果:
worker_processes 1; #worker進程數(shù)量 events { #事件區(qū)塊開始 worker_connections 1024; #單worker進程支持的最大連接 } #事件區(qū)塊結(jié)束 http { #HTTP區(qū)塊開始 include mime.types; #支持的媒體類型庫 default_type application/octet-stream; #默認媒體類型 sendfile on; #開啟高效傳輸模式 keepalive_timeout 65; #連接超時 server { #server區(qū)塊開始 listen 80; #服務端口,默認80 server_name localhost; #域名主機名 location / { #location區(qū)塊開始 root html; #站點根目錄 index index.html index.htm; #默認首頁文件 } #location區(qū)塊結(jié)束 error_page 500 502 503 504 /50x.html;#對應狀態(tài)碼及回應 location = /50x.html { #location開始回應50x.html root html; #站點目錄為html } } } #HTTP區(qū)塊結(jié)束
注:server區(qū)塊和location區(qū)塊可以是多個。
以上就是小白也可以完成的0基礎部署Nginx服務的詳細內(nèi)容,更多關于Nginx服務部署的資料請關注腳本之家其它相關文章!
相關文章
nginx配置域名轉(zhuǎn)發(fā)到其他域名的幾種方法小結(jié)
本文主要介紹了nginx配置域名轉(zhuǎn)發(fā)到其他域名的幾種方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06如何利用nginx處理DDOS進行系統(tǒng)優(yōu)化詳解
防御DDOS是一個系統(tǒng)工程,攻擊花樣多,防御的成本高瓶頸多,防御起來即被動又無奈,下面這篇文章主要給大家介紹了關于如何利用nginx處理DDOS進行系統(tǒng)優(yōu)化的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2018-08-08深入理解Nginx中Server和Location的匹配邏輯
這篇文章主要介紹了深入理解Nginx中Server和Location的匹配邏輯,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03nginx提示:500 Internal Server Error錯誤的解決方法
本文章來給大家總結(jié)了大量關于導致nginx中提示500 Internal Server Error錯誤的原因總結(jié)與解決方法分析有需要了解的朋友可參考參考2013-04-04