欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Nginx入門指南

阿銘linux ? 來源:阿銘linux ? 2023-01-07 09:53 ? 次閱讀

Nginx是由Igor Sysoev(俄羅斯人)為當(dāng)?shù)鼐W(wǎng)站Rambler.ru所開發(fā)的一款高性能WEB 服務(wù)軟件,第一個(gè)公開版本于2004年10月發(fā)布。一開始Nginx并不為人所知,后來由于它誘人的高并發(fā)架構(gòu)、模塊化設(shè)計(jì)、反向代理/負(fù)載均衡功能以及不少于Apache的多樣化功能使得它越來越流行,使得它目前的市場占有率甚至要超過Apache。

Nginx官方網(wǎng)站,隨著近些年Nginx使用量越來越高,它的版本迭代效率也是非常之高。在國內(nèi)幾乎所有的大型互聯(lián)網(wǎng)企業(yè)都在使用Nginx,而阿里巴巴公司更是基于Nginx開發(fā)了它的一個(gè)分支版本Tengine。Nginx之所以非常流行得益于它的高并發(fā)特性,當(dāng)然反向代理和負(fù)載均衡的功能也是各個(gè)企業(yè)使用Nginx作為WEB服務(wù)器的主要原因之一。 nginx作為HTTP服務(wù)器,專為性能優(yōu)化而開發(fā),性能是其最重要的考量,實(shí)現(xiàn)上非常注重效率 。它支持內(nèi)核epoll模型,基于事件處理請求連接,從而能經(jīng)受高負(fù)載的考驗(yàn)。有報(bào)告表明Nginx單機(jī)能支撐高達(dá) 50,000個(gè)并發(fā)連接數(shù)。

15.1 RHEL/Rocky 通過yum安裝

1)編輯源

vi /etc/yum.repos.d/nginx.repo #內(nèi)容如下

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

2)安裝

yum install -y nginx

3)啟動(dòng)

systemctl start nginx

15.2Ubuntu通過apt安裝

1)安裝依賴

sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring

2)導(dǎo)入官方key

curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor 
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

3)設(shè)置源

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] 
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" 
    | sudo tee /etc/apt/sources.list.d/nginx.list

4)設(shè)置倉庫優(yōu)先級,保證優(yōu)先使用Nginx官方的源

echo -e "Package: *
Pin: origin nginx.org
Pin: release o=nginx
Pin-Priority: 900
" 
    | sudo tee /etc/apt/preferences.d/99nginx

5)安裝

sudo apt update
sudo apt install nginx

6)啟動(dòng)

sudo  systemctl  start nginx

15.3 源碼編譯

1)下載源碼

cd  /usr/local/src
sudo curl -O http://nginx.org/download/nginx-1.23.0.tar.gz

2)解壓

sudo tar zxf nginx-1.23.0.tar.gz
cd nginx-1.23.0

3)安裝依賴

## RHEL/Rocky
sudo yum install -y gcc  make  pcre-devel zlib-devel  openssl-devel
##ubuntu
sudo apt install  -y gcc  make  libpcre++-dev libssl-dev  zlib1g-dev

4)配置

sudo ./configure --prefix=/usr/local/nginx  --with-http_ssl_module

5)編譯和安裝

sudo make  && sudo  make install

6)編輯system服務(wù)管理腳本

sudo vi /lib/systemd/system/nginx.service  #寫入如下內(nèi)容
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /usr/local/nginx/logs/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /usr/local/nginx/logs/nginx.pid)"
[Install]
WantedBy=multi-user.target

7)加載服務(wù)

sudo  systemctl daemon-reload

8)啟動(dòng)服務(wù)

sudo systemctl start nginx

15.4 Nginx常見配置

15.4.1 Nginx虛擬主機(jī) 一個(gè)Nginx服務(wù)下,可以配置多個(gè)虛擬主機(jī),每一個(gè)虛擬主機(jī)代表著一個(gè)網(wǎng)站,我們可以使用域名來區(qū)分每一個(gè)虛擬主機(jī)。 虛擬主機(jī)在配置文件里,就是每一個(gè)server { }配置段,配置示例:

mkdir  /usr/local/nginx/conf/vhostsvi /usr/local/nginx/conf/vhosts/123.conf  #內(nèi)容如下    server {        listen       8080;        server_name  www.123.com;        location / {            root   /tmp/123.com;            index  index.html index.htm;        }   }
在虛擬主機(jī)中有一個(gè)默認(rèn)虛擬主機(jī)的概念,所謂默認(rèn)虛擬主機(jī)就是任何域名解析過來,都會訪問到那個(gè)虛擬主機(jī)里。相同端口的第一個(gè)虛擬主機(jī)為默認(rèn)虛擬主機(jī),還可以手動(dòng)配置 default_server:
listen  80  default_server;
安全考慮,默認(rèn)虛擬主機(jī)禁止訪問,增加配置
deny all;

15.4.2 配置日志

日志分為錯(cuò)誤日志和訪問日志,如果Nginx服務(wù)出現(xiàn)問題,就需要查看錯(cuò)誤日志來分析問題原因。而訪問日志記錄了用戶訪問Nginx服務(wù)的過程,訪問日志會記錄客戶端IP、訪問時(shí)間、訪問目標(biāo)大小、訪問地址、客戶端代理標(biāo)識、客戶端referer等信息,這些信息也可以自定義。 先來看錯(cuò)誤日志,配置參數(shù)格式:error_log /path/to/log level。這個(gè)level指的是錯(cuò)誤日志級別,常見的錯(cuò)誤日志級別有debug | info | notice | warn | error | crit | alert | emerg。級別越高記錄的信息越少,如果不定義,默認(rèn)級別為error。當(dāng)排查問題時(shí),可能會調(diào)整錯(cuò)誤日志級別,因?yàn)橹挥姓{(diào)整到可以輸出更多信息的日志級別,才能看到想要的日志信息。 Nginx錯(cuò)誤日志示例:

error_log  /var/log/nginx/error.log crit;
如果要想徹底關(guān)閉error_log,需要這樣配置:
error_log /dev/null;
再來看訪問日志access_log,關(guān)于訪問日志,有一個(gè)log_format的配置,它用來定義訪問日志的格式,也就是說通過這個(gè)日志格式來定義記錄哪些信息,配置示例:
log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    '$host "$request_uri" $status'
    '"$http_referer" "$http_user_agent"';

這個(gè)combined_realip就是日志格式的名字,可以在access_log配置段引用:

access_log  /data/logs/nginx/www.aminglinux.com-access.log combined_realip;

關(guān)于日志格式,各個(gè)變量的含義,阿銘給大家準(zhǔn)備了一個(gè)表格:

變量 說明
$remote_addr 客戶端(用戶)IP地址
$status 請求狀態(tài)碼,如200,404,301,302等
$request 請求方式(GET或者POST等)+URL(包含$request_method,$host,$request_uri)
$http_user_agent 用戶瀏覽器標(biāo)識
$http_host 請求的url地址(目標(biāo)url地址)的host
$host 等同于$http_host
$http_referer 來源頁面,即從哪個(gè)頁面轉(zhuǎn)到本頁,如果直接在瀏覽器輸入網(wǎng)址來訪問,則referer為空
$uri 請求中的當(dāng)前URI(不帶請求參數(shù),參數(shù)位于$args),不同于瀏覽器傳遞的$request_uri的值,它可以通過內(nèi)部重定向,或者使用index指令進(jìn)行修改。
$document_uri 等同于$uri
$request_uri 比$uri多了參數(shù),即$uri+$args
$http_x_forwarded_for 如果使用了代理,這個(gè)參數(shù)會記錄代理服務(wù)器的ip和客戶端的ip

15.4.3 日志切割

日志如果不做切割,那么會一直寫,直到將整個(gè)磁盤寫滿。阿銘曾經(jīng)遇到過一臺Nginx服務(wù)器上沒有配置日志切割,導(dǎo)致訪問日志寫了幾百個(gè)G,這是非常不負(fù)責(zé)任的。

Nginx的日志切割可以借助Linux系統(tǒng)的logrotate服務(wù)來完成,你只需要寫一個(gè)配置文件即可:

#假設(shè)Nginx的錯(cuò)誤日志和訪問日志,都放到了/data/logs/nginx/下
cat > /etc/logrotate.d/nginx </dev/null) 2>/dev/null
    endscript
}
EOF
說明:

daily表示每天切割

rotate 30表示日志保留30天

missingok表示忽略錯(cuò)誤

notifempty表示如果日志為空,不切割

compress表示壓縮

sharedscripts和endscript中間可以引用系統(tǒng)的命令

postrotate表示當(dāng)切割之后要執(zhí)行的命令

15.4.4 SSL配置

SSL也就是https,配置https只需要兩行配置,但是需要我們提前準(zhǔn)備一對SSL證書,這個(gè)證書可以申請一個(gè)免費(fèi)的,也可以自簽。如果你有自己的域名,建議去申請一個(gè)免費(fèi)的證書,推薦https://freessl.cn。如果沒有自己域名,那么就自簽吧,具體步驟可以參考https://github.com/aminglinux/nginx/blob/master/ssl/key.md。

配置示例:

  server {
listen443ssl;
server_namewww.123.com;
ssl_certificatessl/server.crt;
ssl_certificate_keyssl/server.key;


location/{
             root   /tmp/123.com;
             index  index.html index.htm;
}
}
說明:

443端口為ssl監(jiān)聽端口。

ssl_certificate指定crt文件所在路徑,如果寫相對路徑,必須把該文件和nginx.conf文件放到一個(gè)目錄下。

ssl_certificate_key指定key文件所在路徑。

15.4.5 反向代理

Nginx在日常的工作中絕大多數(shù)都是作為反向代理在提供服務(wù)。比較典型的場景是:域名沒有備案,可以把域名解析到香港一臺云主機(jī)上,在香港云主機(jī)做個(gè)代理,而網(wǎng)站數(shù)據(jù)是在大陸的服務(wù)器上。 配置示例:

server
{
     listen 80;
     server_name aminglinux.com;


     location /
    {
         proxy_pass http://123.23.13.11/;
         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_pass后面跟的url就是被代理服務(wù)器的地址。下面的三個(gè)proxy_set_header是一個(gè)固定配置,一直帶著便是。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11342

    瀏覽量

    210315
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9295

    瀏覽量

    86006
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    154

    瀏覽量

    12227

原文標(biāo)題:Nginx入門

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Nginx 常見應(yīng)用技術(shù)指南

    Nginx 常見應(yīng)用技術(shù)指南
    發(fā)表于 09-07 14:42 ?6次下載
    <b class='flag-5'>Nginx</b> 常見應(yīng)用技術(shù)<b class='flag-5'>指南</b>

    PSCOPE快速入門指南

    PSCOPE快速入門指南
    發(fā)表于 05-23 20:22 ?10次下載
    PSCOPE快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    Nginx開發(fā)從入門到精通

    nginx-book.zip
    發(fā)表于 04-20 11:12 ?0次下載
    <b class='flag-5'>Nginx</b>開發(fā)從<b class='flag-5'>入門</b>到精通

    Nginx如何監(jiān)控

    搭建了Nginx集群后,需要繼續(xù)深入研究的就是日常Nginx監(jiān)控。
    的頭像 發(fā)表于 08-22 10:03 ?1455次閱讀

    TileLib 快速入門指南

    TileLib 快速入門指南
    發(fā)表于 03-13 19:14 ?0次下載
    TileLib 快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    超強(qiáng)大的Nginx可視化管理平臺Nginx-Proxy-Manager中文入門指南

    今天給大家介紹一款 Nginx 可視化管理界面,非常好用,小白也能立馬上手。
    的頭像 發(fā)表于 04-13 10:42 ?5757次閱讀

    瑞薩 SH7137 入門套件快速入門指南

    瑞薩 SH7137 入門套件快速入門指南
    發(fā)表于 04-27 19:59 ?0次下載
    瑞薩 SH7137 <b class='flag-5'>入門</b>套件快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    瑞薩入門套件 LCD 應(yīng)用板快速入門指南

    瑞薩入門套件 LCD 應(yīng)用板快速入門指南
    發(fā)表于 04-28 18:44 ?1次下載
    瑞薩<b class='flag-5'>入門</b>套件 LCD 應(yīng)用板快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    Renesas 7542入門套件快速入門指南

    Renesas 7542 入門套件快速入門指南
    發(fā)表于 04-28 19:42 ?0次下載
    Renesas 7542<b class='flag-5'>入門</b>套件快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    Nginx常用的配置和基本功能講解

    Nginx 已經(jīng)廣泛應(yīng)用于 J-one 和 Jdos 的環(huán)境部署上,本文對 Nginx 的常用的配置和基本功能進(jìn)行講解,適合 Nginx 入門學(xué)習(xí)。
    的頭像 發(fā)表于 05-04 10:25 ?709次閱讀

    TileLib 快速入門指南

    TileLib 快速入門指南
    發(fā)表于 07-04 20:32 ?0次下載
    TileLib 快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    LABVIEW與CRIO入門指南

    LABVIEW與CRIO入門指南
    發(fā)表于 07-26 18:17 ?14次下載

    SYDTEK入門指南-2021

    SYD8811入門指南
    發(fā)表于 07-11 16:39 ?0次下載

    HyperLynx入門指南

    HyperLynx入門指南
    發(fā)表于 05-06 10:17 ?4次下載

    WinCC 7.5入門指南

    WinCC 7.5入門指南
    發(fā)表于 10-21 10:37 ?6次下載