小白成長之路--nginx基礎配置(一)

文章目錄

  • 一、概述
      • 1.1 Nginx 特點
      • 1.2 Nginx 作用
      • 1.3Nginx工作原理
  • 二、Nginx服務搭建
    • 2.1安裝
    • 2.2 目錄結構
    • 2.3 配置文件作用
    • 2.4 nginx,conf配置文件詳解
    • 2.5 核心命令
    • 2.6 Nginx信號
    • 三.Nginx
    • 3.1啟動
  • 總結


一、概述

Nginx 是開源、高性能、高可靠的 Web服務器 和反向代理服務器,而且支持熱部署,幾乎可以做到 7 * 24 小時不間斷運行,即使運行幾個月也不需要重新啟動,還能在不間斷服務的情況下對軟件版本進行熱更新。性能是 Nginx 最重要的考量,其占用內存少、并發能力強、能支持高達 5w 個并發連接數,最重要的是, Nginx 是免費的并可以商業化,配置使用也比較簡單。

1.1 Nginx 特點

  • 高并發、高性能;
  • 模塊化架構使得它的擴展性非常好;
  • 異步非阻塞的事件驅動模型(epoll)這點和 Node.js 相似;
  • 相對于其它服務器來說它可以連續幾個月甚至更長而不需要重啟服務器使得它具有高可靠性;
  • 熱部署、平滑升級;
  • 完全開源,生態繁榮。

1.2 Nginx 作用

  • http服務器。Nginx可以獨立提供http服務。可做網頁靜態服務器。
  • 虛擬主機。可以實現在一臺服務器虛擬出多個虛擬服務器。
  • 反向代理,負載均衡。當網站的訪問量達到一定程度后,單臺服務器不能滿足用戶的請求時,需要用多臺服務器集群可以使用nginx做反向代理。并且多臺服務器可以平均分擔負載,不會應為某臺服務器負載高宕機而某臺服務器閑置的情況。
  • nginx 中也可以配置安全管理、比如可以使用Nginx搭建API接口網關,對每個接口服務進行攔截。

1.3Nginx工作原理

在這里插入圖片描述

二、Nginx服務搭建

2.1安裝

yum install -y nginx

編譯安裝:

tar xf nginx-1.18.0.tar.gz
yum install -y pcre-devel
yum install -y zlib-devel
cd nginx-1.18.0/
./configure --prefix=/usr/local/nginx1.8 && make && make install
在這里插入圖片描述

啟動: nginx
停止: nginx -s stop
重啟 : nginx -s reload

2.2 目錄結構

在這里插入圖片描述

2.3 配置文件作用

在這里插入圖片描述

2.4 nginx,conf配置文件詳解

##全局配置,對全局生效##
user  nobody nobody;  # 指定運行 Nginx 進程的用戶為 nobody,組為nobody
pid /var/run/nginx.pid # master主進程的的pid存放在nginx.pid的文件
worker_processes  1;  # 指定 Nginx 啟動的 worker 子進程數量。
#worker_processes auto; # 與當前cpu物理核心數一致
worker_rlimit_nofile 20480; # 指定 worker 子進程可以打開的最大文件句柄數。
worker_rlimit_core 50M; # 指定 worker 子進程異常終止后的 core 文件,用于記錄分析問題。
working_directory /opt/nginx/tmp; # 存放目錄
worker_priority -10; # 指定 worker 子進程的 nice 值,以調整運行 Nginx 的優先級,通常設定為負值,以優先調用 Nginx。
#Linux 默認進程的優先級值是120,值越小越優先;nice 定范圍為 -20 到 +19 。
#應用的默認優先級值是120加上 nice 值等于它最終的值,這個值越小,優先級越高。
worker_shutdown_timeout 5s; #指定 worker 子進程優雅退出時的超時時間。
timer_resolution 100ms; #worker 子進程內部使用的計時器精度,調整時間間隔越大,系統調用越少,有利于性能提升;反之,系統調用越多,性能下降。
daemon on; # 指定 Nginx 的運行方式,前臺還是后臺,前臺用于調試,后臺用于生產。默認是on,后臺運行模式。
error_log  logs/error.log;  # 錯誤日志文件路徑##events:配置影響 Nginx 服務器與用戶的網絡連接;##
events {use epoll;     # 使用epoll的I/O模型(如果你不知道Nginx該使用哪種輪詢方法,會自動選擇一個最適合你操作系統的)worker_connections  1024;  # 允許的最大并發連接數accept_mutex on; # 是否打開負載均衡互斥鎖,默認是off關閉的,這里推薦打開
}
##http:配置代理,緩存,日志定義等絕大多數功能和第三方模塊的配置;##
http {include       mime.types;  # 包含 MIME 類型的定義,文件擴展名與類型映射表default_type  application/octet-stream;   # 默認文件類型default_type  application/octet-stream;  # 默認的 MIME 類型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  logs/access.log  main;  # 訪問日志文件及使用的日志格式sendfile       on;  # 啟用零拷貝傳輸,高效傳輸模式tcp_nopush     on;  # 啟用 TCP nopush 選項,減少網絡報文段的數量keepalive_timeout  0;  # 禁用持久連接的超時時間keepalive_timeout  65;  # 保持存活連接的超時時間gzip  on;  # 開啟 Gzip 壓縮include /etc/nginx/conf.d/*.conf;   # 加載自定義配置項##upstream:配置后端服務器具體地址,負載均衡配置不可或缺的部分。##upstream back_end_server{server 192.168.100.33:8081 #定義后端web服務器節點}##server:配置虛擬主機的相關參數,一個 http 塊中可以有多個 server 塊;每個nginx相當于一個虛擬服務器的地位。##server {listen       80;  # 監聽端口 80server_name  localhost;  # 服務器名為 localhostcharset koi8-r;  # 字符集設置為 koi8-raccess_log  logs/host.access.log  main;  # 主機訪問日志文件及使用的日志格式##location:用于配置匹配的 uri ;##location / {root   html;  # 指定靜態資源目錄位置,它可以寫在 http 、 server 、 location 等配置中。index  index.html index.htm;  # 默認的索引文件deny 172.168.22.11;   # 禁止訪問的ip地址,可以為allallow 172.168.33.44;# 允許訪問的ip地址,可以為all}location /image {alias /opt/nginx/static/image/;#它也是指定靜態資源目錄位置,使用alias末尾一定要添加 / ,只能寫在 location 中。}
#當用戶訪問 www.jx.com/image/1.png 時,實際在服務器找的路徑是 /opt/nginx/static/image/1.pngerror_page  404              /404.html;  # 設置 404 錯誤頁面的位置為 /404.htmlerror_page   500 502 503 504  /50x.html;  # 將服務器錯誤頁面重定向到 /50x.htmllocation = /50x.html {root   html;}location ~ \.php$ {proxy_pass   http://127.0.0.1;  # 將 PHP 腳本代理到監聽在 127.0.0.1:80 上的 Apache 服務器}location ~ \.php$ {root           html;  # PHP 腳本位置fastcgi_pass   127.0.0.1:9000;  # 向 FastCGI 服務器傳遞 PHP 腳本fastcgi_index  index.php;  # 指定 FastCGI 服務器默認的腳本文件名fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  # FastCGI 參數配置include        fastcgi_params;  # 包含 FastCGI 相關的參數配置}location ~ /\.ht {deny  all;  # 阻止訪問 .htaccess 文件}}server {listen       8000;  # 監聽端口 8000listen       somename:8080;  # 監聽 somename:8080server_name  somename  alias  another.alias;  # 服務器名設置location / {root   html;  # 根目錄位置為 html 文件夾index  index.html index.htm;  # 默認的索引文件}}server {listen       443 ssl;  # 啟動在 443 端口,并開啟 SSLserver_name  localhost;  # 服務器名為 localhostssl_certificate      cert.pem;  # SSL 證書文件ssl_certificate_key  cert.key;  # SSL 證書的私鑰文件ssl_session_cache    shared:SSL:1m;  # 配置 SSL 會話緩存ssl_session_timeout  5m;  # SSL 會話緩存的超時時間設置為 5 分鐘ssl_ciphers  HIGH:!aNULL:!MD5;  # 配置 SSL 加密算法ssl_prefer_server_ciphers  on;  # 優先使用服務器端的加密套件location / {root   html;  # 根目錄位置為 html 文件夾index  index.html index.htm;  # 默認的索引文件}}
}

2.5 核心命令

在這里插入圖片描述

2.6 Nginx信號

在這里插入圖片描述

三.Nginx

3.1啟動

在這里插入圖片描述
訪問當前ip地址
在這里插入圖片描述
我們可以在html目錄下新創建一個html,里面寫內容在訪問
在這里插入圖片描述
注:為了保持主文件nginx.conf整潔,可以創建多個子文件,然后再主文件使用include即可
在這里插入圖片描述
拷貝如下內容到剛才創建的目錄下的文件中
在這里插入圖片描述

基于端口號配置

server {
listen 803;
server_name localhost;

    #charset koi8-r;#access_log  logs/host.access.log  main;location / {root  html/web1; //這里要去html目錄下創建對應的文件index  index.html index.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}
}
訪問時帶上剛才配置的端口號

在這里插入圖片描述
基于ip地址配置
ifconfig ens33:0 192.168.144.10/24
在這里插入圖片描述

在這里插入圖片描述
基于域名配置
conf.d下的配置
在這里插入圖片描述
conf下的配置
在這里插入圖片描述

去另一臺主機的/etc/hosts添加
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

總結

今天就先學習下Nginx基于ip地址,端口號,域名的簡單配置

希望可以幫助到小伙伴們

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/910518.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/910518.shtml
英文地址,請注明出處:http://en.pswp.cn/news/910518.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從最基礎的float布局開始學前端

前端學習其實不難&#xff0c;我們先從float布局講起&#xff0c;寫一個最簡單的導航欄&#xff1a;Logo在左&#xff0c;導航鏈接在右。下面是示例代碼&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"…

12. TypeScript 高級類型

TypeScript 中的高級類型包括映射類型、條件類型、字面量類型和遞歸類型等強大結構。這些特性使開發者能夠表達類型之間更復雜的關系&#xff0c;從而處理邊緣情況&#xff0c;并定義更動態、更靈活的類型系統。 一、映射類型 TypeScript 映射類型&#xff08;Mapped Types&a…

韓國證券交易所(KRX)全生態接入系統技術白皮書

核心價值&#xff1a;為全球最活躍的衍生品市場&#xff08;日均交易量480億美元&#xff09;提供 5μs延遲引擎全合規認證&#xff0c;助力中資機構搶占韓國78%衍生品交易份額 一、KRX市場機遇與準入壁壘 1.1 核心數據錨定&#xff08;2025Q2&#xff09; 指標數值全球競爭力…

【Clickhouse系列】增刪改查:對比mysql

目錄 1. 寫入操作 (INSERT) 2. 刪除操作 (DELETE) 3. 更新操作 (UPDATE) 4. 查詢操作 (SELECT) 5. 總結對比表&#xff1a; 6. 參考鏈接 核心哲學差異&#xff1a; MySQL&#xff1a; 面向在線事務處理。核心目標是保證數據的強一致性、原子性和低延遲的單行操作&#x…

低壓電工作業中,如何正確選用熔斷器的額定電流?

在低壓電工作業中&#xff0c;正確選用熔斷器額定電流需綜合考慮負載類型、額定電流等因素&#xff0c;具體方法如下&#xff1a; 照明電路&#xff1a;對于白熾燈負載&#xff0c;熔體額定電流可按被保護電路上所有白熾燈工作電流之和的 1.1 倍選取。若是日光燈和高壓水銀熒…

MySQL:索引優化實戰技巧

目錄 一、前言 二、基礎知識回顧 三、索引設計優化 1.遵循最左匹配原則&#xff0c;合理設計聯合索引順序 2.利用覆蓋索引避免回表查詢 3.針對字符串列使用前綴索引 4.合理使用復合索引替代多個單列索引 5.使用前綴索引優化模糊查詢的左匹配 四、索引使用優化 1.避免在…

開關電源計算輔助軟件SMPSKIT V10.3

資料下載地址&#xff1a;開關電源計算輔助軟件SMPSKIT V10.3 SMPSKIT &#xff1a; 內置一些常見IC的計算 內置絕大多數磁芯數據 內置變壓器分層計算器 可用戶編程功能 包含絕大多數拓…

OpenHarmony應用開發-全量包的使用

文章目錄 一、下載full-sdk二、替換本地對應版本的SDK1.查看本地SDK安裝目錄2.替換對應的SDK版本 三、升級APL權限為系統權限&#xff08;升級后便可使用系統接口&#xff09;四、重啟IDE并重新進行應用簽名總結 一、下載full-sdk 可以在官方提供的“每日構建”中搜索對應版本…

sudo安裝pip包的影響

使用 sudo 安裝的 pip 包和不使用 sudo 安裝的 pip 包在 Ubuntu 20.04 上有以下幾個主要區別&#xff1a; 1. 安裝位置&#xff1a; 使用 sudo: 包會被安裝到系統級別的 Python 環境中&#xff0c;通常是 /usr/local/lib/python3.8/dist-packages/ 或 /usr/lib/python3/dist-…

uniapp 多圖上傳,加水印功能(全平臺通用)

多圖上傳和水印都是比較難得&#xff0c;特別是有的api只支持在小程序用&#xff0c;h5不給用 效果圖 普通的多圖上傳 // 多圖上傳 // count&#xff1a;最大數量 export function headerUploads0(count 9, orderNumber , watermarkInfo) {return new Promise((resolve, r…

【appium】5. Appium WebDriver 支持的常用方法匯總

下面是一個完整的 Appium WebDriver 支持的常用方法匯總&#xff0c;并附上典型用法示例。 一、元素查找方法/元素操作方法 ? 使用 find_element() 和 find_elements() from appium import webdriver from appium.webdriver.common.appiumby import AppiumBy# 單個元素查找 …

FreeRTOS 介紹、使用方法及應用場景

一、FreeRTOS 概述 FreeRTOS 是一款廣泛應用于嵌入式系統的實時操作系統&#xff08;RTOS&#xff09;&#xff0c;具有開源、可移植、可裁剪、輕量級等顯著特點。它最初由 Richard Barry 開發&#xff0c;如今已成為全球開發者在物聯網、工業控制、消費電子等領域的熱門選擇&a…

深度解析 Caffeine:高性能 Java 緩存庫

1. Caffeine 簡介 Caffeine 是一個基于 Java 8 的高性能本地緩存庫&#xff0c;由 Ben Manes 開發&#xff0c;旨在替代 Google Guava Cache&#xff0c;提供更優的緩存策略、更高的吞吐量和更靈活的配置。 核心優勢 ? 卓越的性能&#xff1a;采用優化的數據結構&#xff0…

創客匠人賦能創始人 IP 打造:健康行業知識變現案例深度解析

在知識服務行業蓬勃發展的當下&#xff0c;創始人 IP 打造已成為知識變現的核心驅動力。創客匠人近期披露的陪跑案例顯示&#xff0c;通過系統化的線上線下聯動運營&#xff0c;傳統行業從業者可高效實現 IP 價值轉化。以亓黃中醫科技創始人吳豐言老師為例&#xff0c;其在創客…

64、最小路徑和

題目&#xff1a; 解答&#xff1a; 簡單dp。 定義&#xff1a;dp[i][j]為到達(i,j)所需要的最短路程 初始化&#xff1a;dp[0][0]grid[0][0]&#xff0c;同時對第一行和第一列的&#xff0c;第i個就是前i個之和加上自身 遞歸&#xff1a;dp[i][j]min(dp[i-1][j],dp[i][j-1…

獲取連接通義千問大語言模型配置信息的步驟:api_key、api_url

一、注冊并開通通義千問API服務 1. 注冊阿里云賬號 訪問 阿里云官網點擊右上角"免費注冊"&#xff0c;按指引完成賬號注冊和實名認證 2. 開通通義千問API服務 進入 通義千問API產品頁點擊"立即開通"&#xff0c;按提示完成服務開通&#xff08;部分服務…

汽車加氣站操作工考試題庫含答案【最新】

1.天然氣的主要成分是&#xff08;&#xff09;。 A. 乙烷 B. 乙烯 C. 甲烷 D. 乙炔 答案&#xff1a;C 2.CNG 加氣站中&#xff0c;加氣機的加氣軟管應&#xff08;&#xff09;進行檢查。 A. 每天 B. 每周 C. 每月 D. 每季度 答案&#xff1a;A 3.儲氣罐的安全閥應&#xf…

顯示任何結構的數組對象數據【向上自動滾動】

顯示任何結構的數組對象數據 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>地圖編輯軟件 - 數…

GPIO模式詳解

一、GPIO的八種模式 GPIO支持4種輸入模式&#xff08;浮空輸入、上拉輸入、下拉輸入、模擬輸入&#xff09;和4種輸出模式&#xff08;開漏輸出、開漏復用輸出、推挽輸出、推挽復用輸出&#xff09;。 GPIO_Mode_AIN模擬輸入GPIO_Mode_IN_FLOATING浮空輸入GPIO_Mode_IPD下拉輸…

django rest_framework 自定義403 Forbidden錯誤頁面

django本來有是可以很方便自定義HTTP錯誤頁面的&#xff0c;網上資料一大把。核心是在項目的urls代碼中增加handler403的定義&#xff0c;比如&#xff1a; handler403 "app.views.your_custom_view" 404&#xff0c;500都是一樣的&#xff0c;重新定義handler404…