柚子快報激活碼778899分享:Linux 中間件Nginx
柚子快報激活碼778899分享:Linux 中間件Nginx
道阻且長,行則將至
文章目錄
前言一、Nginx是什么?二、安裝Nginx編譯安裝第一步:下載nginx的壓縮包第二步:安裝依賴軟件第三步:解壓縮進入解壓目錄第四步:安裝nginx第四步:啟動nginx擴展
測試nginx
三、Nginx的配置文件1、什么是nginx的配置文件2、配置文件1)配置文件的位置2)配置文件的基本結構
3)server塊里面的常用配置
總結
前言
提示:這里可以添加本文要記錄的大概內容:
當提到 Linux 中間件,Nginx(發(fā)音為“engine X”)是一個被廣泛使用的高性能Web服務器和反向代理服務器。它以其卓越的性能、可靠性和靈活性而受到眾多網站和開發(fā)者的青睞。作為一款開源軟件,Nginx在眾多企業(yè)和個人項目中扮演著重要的角色。
無論您是初學者還是有經驗的管理員、開發(fā)人員,本文將為您提供適用的指南和步驟,幫助您了解和使用Nginx,從而輕松構建穩(wěn)定、高效的Web應用程序。
讓我們開始探索Nginx的世界吧!
提示:以下是本篇文章正文內容,下面案例可供參考
一、Nginx是什么?
中間件(中間件是指在不同應用程序或系統(tǒng)之間傳遞數據、消息或請求的一種軟件組件。它可以充當應用程序之間的"橋梁",在數據傳輸的過程中進行處理、轉換或增加功能。)
輕量級、高性能(官方給出的數據是比Apache好100倍),國內一般都是混合使用這兩款中間件的,nginx性能好,apache穩(wěn)定。
Nginx最初由俄羅斯的程序設計師Igor Sysoev創(chuàng)建并首次發(fā)布于2004年,其設計目標是解決C10K問題,即如何支持高并發(fā)連接。借助其事件驅動的架構和輕量級進程模型,Nginx能夠高效地處理并發(fā)請求,具備出色的負載均衡和反向代理能力。
Nginx的優(yōu)點不僅僅在于其出色的性能。它還具備靈活的配置選項,使得開發(fā)人員可以根據項目需求進行定制化配置。Nginx還支持強大的模塊化體系結構,允許用戶通過添加模塊來擴展其功能,如緩存、gzip壓縮、SSL/TLS支持等。
二、安裝Nginx
兩中安裝方法,編譯安裝、yum安裝
編譯安裝是需要安裝依賴的
依賴:openssl-devel、zlib-devel、ncurses-devel、pcre-devel、gcc、gcc-c++
yum安裝
nginx的rpm包在epel源中 也就是需要配置epel的yum源才能安裝
編譯安裝
nginx 壓縮包位置 下載位置:https://nginx.org
https://nginx.org/download/nginx-1.24.0.tar.gz
第一步:下載nginx的壓縮包
[root@localhost html]# wget http://nginx.org/download/nginx-1.24.0.tar.gz 1
這里沒有wget的同學,使用yum install wget -y 就可以下載啦
這時候在當前目錄下會出現nginx+版本號+后綴的壓縮包
第二步:安裝依賴軟件
[root@localhost ~]# yum install openssl-devel zlib-devel ncurses-devel pcre-devel
gcc gcc-c++ -y
第三步:解壓縮進入解壓目錄
[root@localhost ~]# tar xvf nginx-1.24.0.tar.gz
[root@localhost ~]# cd nginx-1.24.0
第四步:安裝nginx
[root@localhost nginx-1.24.0]# mkdir /usr/local/nginx
[root@localhost nginx-1.24.0]# ./configure --prefix=/usr/local/nginx && make && make install
可以查看上一條命令的執(zhí)行情況 echo $? 如果輸出0的話說明命令執(zhí)行成功
nginx目錄結構
[root@localhost nginx]# ls
conf html logs sbin
conf:這個目錄存放的是nginx的配置文件html:這個目錄是nginx默認網站的根目錄logs:這個是nginx的日志文件目錄sbin:這個是nginx的啟動程序的目錄
第四步:啟動nginx
[root@localhost sbin]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx
[root@localhost sbin]# lsof -i :80
注意:如果顯示這個提示說明80端口被占用了 這里有兩個解決方法: 1)修改nginx的默認端口號 2)釋放80端口(關掉對應的進程)
這里我們選擇第二種方法 查看80端口,lsof -i:80,發(fā)現是httpd占用的,直接殺掉
lsof -i:80
pkill httpd
啟動
擴展
1)重新啟動nginx
方法1:./nginx -s reload
方法2:pkill殺死進程,再次啟動
2)nginx開機自動啟動
在這里我們得知道一個文件:/etc/rc.d/rc.loacl 這個文件開開機時的最后一步時會將里面的命令執(zhí)行一遍。
[root@localhost sbin]# vim /etc/rc.d/rc.local
寫入:/usr/local/nginx/sbin/nginx
注意:這里centos7之后與centos7之前使用這里的操作是不一樣的。centos7之前的直接寫入保存退出就可以,centos7之后的寫入保存退出之后還需要執(zhí)行一個命令:chmod +x /etc/rc.d/rc.local 才可以使用。
[root@localhost sbin]# chmod +x /etc/rc.d/rc.local
這里我們也可以將啟動nginx的命令寫入一個腳本,然后開機執(zhí)行腳本也可以。
測試nginx
這里確保我們的物理機可以和虛擬機進行通訊,不會弄的小伙伴可以去看我之前寫的鏈接: Linux配置網絡的博文
在物理機上輸入虛擬機的IP地址就可以查看 這里我們可以通過修改網站根目錄來修改頁面上的內容
vim index.html
修改想要展現的內容,保存退出 然后重新訪問 啊啊啊,這里亂碼了。不管了就這樣吧?。?! 解決辦法是在文件里加一個中文的字符集
三、Nginx的配置文件
1、什么是nginx的配置文件
Nginx的配置文件是一個文本文件,用于配置Nginx服務器的行為、路由規(guī)則、代理設置、日志記錄等各種參數和選項。這些配置文件通常采用簡單的語法結構,由一系列指令和塊組成,以控制Nginx服務器的行為。
總的來說,Nginx配置文件是管理和配置Nginx服務器行為的核心文件,通過對配置文件的修改和調整,可以實現各種不同的服務器行為和功能。
2、配置文件
1)配置文件的位置
yum安裝:/etc/
編譯安裝:安裝位置/conf
文件名都叫:nginx.conf
這里我們是編譯安裝的文件位置在:/usr/local/nginx/conf/nginx.conf
2)配置文件的基本結構
全局塊(main): 包含全局性的配置指令,如工作進程數、用戶權限、日志文件位置等。這些指令影響整個Nginx服務器的行為。事件塊(events): 定義Nginx服務器的事件模型,包括事件驅動的工作方式和連接超時等參數。http塊: 包含HTTP服務器的配置指令,如HTTP請求的處理方式、虛擬主機的設置、HTTP代理的配置等。在http塊內部,還可以包含server塊和location塊,用于配置具體的虛擬主機或路徑的行為。server塊: 定義了一個虛擬主機(server),包括該虛擬主機的監(jiān)聽端口、域名、SSL證書、代理設置等。location塊: 定義了一個URI的匹配規(guī)則和對應的行為,如代理轉發(fā)、靜態(tài)文件服務、重定向等。
例:
# 全局塊
user nginx; # Nginx運行的用戶
worker_processes auto; # Nginx工作進程數,使用CPU核心數自動設置
error_log /var/log/nginx/error.log; # 錯誤日志文件路徑
# events塊
events {
worker_connections 1024; # 每個工作進程的最大連接數
}
# http塊
http {
include mime.types; # 包含MIME類型配置文件
# 默認類型
default_type application/octet-stream;
# 日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main; # 訪問日志文件路徑
# server塊
server {
listen 80; # 網站的端口號
server_name localhost; # 網站的域名
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html; # 網站的根目錄
index index.html index.htm; # 網站的默認首頁
}
sendfile on; # 開啟sendfile傳輸文件
tcp_nopush on; # 開啟tcp_nopush
tcp_nodelay on; # 開啟tcp_nodelay
keepalive_timeout 65; # 客戶端連接保持時間
types_hash_max_size 2048; # MIME類型哈希表大小
include /etc/nginx/conf.d/*.conf; # 包含其他配置文件
include /etc/nginx/sites-enabled/*; # 包含虛擬主機配置文件
}
可以使用vim打開配置文件
[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf
3)server塊里面的常用配置
server就是虛擬主機,可以寫多個;從而對于不同的頁面。
server {
listen 80;
server_name www.web1.com;
root /usr/lcaol/nginx/html;
index index.html index.htm;
access_log logs/host.access.log main;
error_log logs/host.error.log main;
}
listen 80; # 網站的端口號 server_name localhost; # 網站的域名 root html; # 網站的根目錄 index index.html index.htm; # 網站的默認首頁
location(了解)
location / { … } 是 Nginx 配置中非常重要的一個部分,用于配置服務器上不同 URL 路徑的行為。
location / { … } 定義了一個匹配根路徑 / 的 location 塊。這表示任何以服務器域名訪問的請求都會匹配到這個 location 塊。在 { … } 內部是該 location 的配置指令。這些指令可以控制服務器對于該路徑下請求的行為,比如代理轉發(fā)、靜態(tài)文件服務、重定向等。
下面是一些常見的 location / { … } 的用法:
1、靜態(tài)文件服務: 可以配置 Nginx 提供靜態(tài)文件服務,直接返回服務器上的靜態(tài)文件,而不需要通過后端應用程序處理。
location / {
root /path/to/static/files;
index index.html index.htm;
}
這樣配置后,當用戶訪問服務器根路徑時,Nginx 將在 /path/to/static/files 目錄下尋找 index.html 或 index.htm 文件,并返回給用戶。
2、代理轉發(fā): 可以配置 Nginx 將請求轉發(fā)給后端應用程序服務器進行處理。
location / {
proxy_pass http://backend_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
這個配置會將所有根路徑下的請求轉發(fā)給名為 backend_server 的后端服務器進行處理。同時,通過 proxy_set_header 設置一些請求頭,以便后端服務器獲取客戶端真實 IP 等信息。
3、反向代理緩存: 可以配置 Nginx 將請求轉發(fā)給后端服務器,并緩存后端服務器的響應,加快后續(xù)相同請求的響應速度。
location / {
proxy_pass http://backend_server;
proxy_cache my_cache;
proxy_cache_valid 200 304 10m;
proxy_cache_key "$scheme$request_method$host$request_uri";
}
個配置會將所有根路徑下的請求轉發(fā)給后端服務器,并在 Nginx 中設置緩存。proxy_cache 定義了緩存名稱,proxy_cache_valid 定義了緩存有效期,proxy_cache_key 定義了緩存的鍵。
總之,location / { … } 是 Nginx 配置中非常重要的一部分,通過它可以控制不同 URL 路徑下請求的行為,實現諸如靜態(tài)文件服務、代理轉發(fā)、反向代理緩存等功能。
總結
常用到的命令
第一步:下載
[root@localhost html]# wget http://nginx.org/download/nginx-1.24.0.tar.gz
第二步:安裝依賴
[root@localhost ~]# yum install openssl-devel zlib-devel ncurses-devel pcre-devel
gcc gcc-c++ -y
第三步:安裝nginx
[root@localhost ~]# tar xvf nginx-1.24.0.tar.gz
[root@localhost ~]# cd nginx-1.24.0
[root@localhost nginx-1.24.0]# ./configure --prefix=/usr/local/nginx && make &&
make install
第四步:啟動程序:
[root@localhost sbin]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx
[root@localhost sbin]# lsof -i :80
擴展
1、重啟nginx
方法1:
[root@localhost sbin]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx -s reload
方法2:
先pkill殺死
然后再啟動
2、讓nginx開機自動啟動
[root@localhost ~]# echo "/usr/local/nginx/sbin/nginx">>/etc/rc.d/rc.local
[root@localhost ~]# chmod +x /etc/rc.d/rc.local
柚子快報激活碼778899分享:Linux 中間件Nginx
相關閱讀
本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。