日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx入门到实战(1)基础篇

發布時間:2025/3/20 Nginx 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx入门到实战(1)基础篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、環境

服務器版本:CentOS 7.2

為了保證學習階段不遇到奇怪的事情,請保證以下四點(大神選擇性無視)

  • 確認系統網絡
  • 確認yum可用
  • 確認關閉iptables
  • 確認停用selinux
  • #查看iptables狀態 systemctl status firewalld.service #關閉防火墻(臨時關閉) systemctl stop firewalld.service #查看SELinux狀態 getenforce #臨時關閉SELinux setenforce 0

    安裝一些系統基本工具,正常情況系統都會自帶(沒有在裝哦)

    yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake yum -y install wget httpd-tools vim

    二、Nginx是什么?

    Nginx是一個開源且高性能、可靠的HTTP中間件、代理服務
    其他的HTTP服務:

  • HTTPD-Apache基金會
  • IIS-微軟
  • GWS-Google(不對外開放)
  • 近幾年,Nginx的市場占有率越來越高,一度飆升,為什么呢?接下來我們就知道了!

    三、我們為什么選擇Nginx?

    1. IO多路復用epoll(IO復用)

    如何理解呢?舉個例子吧!
    有A、B、C三個老師,他們都遇到一個難題,要幫助一個班級的學生解決課堂作業。
    老師A采用從第一排開始一個學生一個學生輪流解答的方式去回答問題,老師A浪費了很多時間,并且有的學生作業還沒有完成呢,老師就來了,反反復復效率極慢。
    老師B是一個忍者,他發現老師A的方法行不通,于是他使用了影分身術,分身出好幾個自己同一時間去幫好幾個同學回答問題,最后還沒回答完,老師B消耗光了能量累倒了。
    老師C比較精明,他告訴學生,誰完成了作業舉手,有舉手的同學他才去指導問題,他讓學生主動發聲,分開了“并發”。
    這個老師C就是Nginx。

    2. 輕量級

    • 功能模塊少 - Nginx僅保留了HTTP需要的模塊,其他都用插件的方式,后天添加
    • 代碼模塊化 - 更適合二次開發,如阿里巴巴Tengine

    3. CPU親和

    把CPU核心和Nginx工作進程綁定,把每個worker進程固定在一個CPU上執行,減少切換CPU的cache miss,從而提高性能。

    三、安裝與目錄

    本人使用了鳥哥的lnmp集成包 https://lnmp.org,簡單方便-推薦!

    #執行這句語句,根據指引,將安裝 nginx php mysql 可進入lnmp官網查看更詳細的過程 #默認安裝目錄/usr/local wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp#默認安裝目錄 /usr/local

    四、基本配置

    #打開主配置文件,若你是用lnmp環境安裝 vim /usr/local/nginx/conf/nginx.conf----------------------------------------user #設置nginx服務的系統使用用戶 worker_processes #工作進程數 一般情況與CPU核數保持一致 error_log #nginx的錯誤日志 pid #nginx啟動時的pidevents {worker_connections #每個進程允許最大連接數use #nginx使用的內核模型 }

    我們使用 nginx 的 http 服務,在配置文件 nginx.conf 中的 http 區域,配置無數個 server ,每一個 server 對應這一個虛擬主機或者域名

    http {... ... #后面再詳細介紹 http 配置項目server {listen 80 #監聽端口;server_name localhost #地址location / { #訪問首頁路徑root /xxx/xxx/index.html #默認目錄index index.html index.htm #默認文件 } error_page 500 504 /50x.html #當出現以上狀態碼時從新定義到50x.html location = /50x.html { #當訪問50x.html時root /xxx/xxx/html #50x.html 頁面所在位置} }server {... ... } }

    一個 server 可以出現多個 location ,我們對不同的訪問路徑進行不同情況的配置
    我們再來看看 http 的配置詳情

    http {sendfile on #高效傳輸文件的模式 一定要開啟keepalive_timeout 65 #客戶端服務端請求超時時間log_format main XXX #定義日志格式 代號為mainaccess_log /usr/local/access.log main #日志保存地址 格式代碼 main }

    四、模塊

    查看 nginx 已開啟和編聯進去的模塊,模塊太多了,就不在這長篇大論,有需要自行百度吧~

    #大寫V查看所有模塊,小寫v查看版本 nginx -V # 查看此配置文件 是否存在語法錯誤 nginx -tc /usr/local/nginx/conf/nginx.conf

    總結

    以上是生活随笔為你收集整理的Nginx入门到实战(1)基础篇的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。