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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何使用nginx

發布時間:2023/12/31 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用nginx 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Nginx的優點

  • 支持海量高并發:采用IO多路復用epoll。官方測試Nginx能夠支持5萬并發鏈接,實際生產環境中可以支撐2-4萬并發連接數。
  • 內存消耗少:在主流的服務器中Nginx目前是內存消耗最小的了,比如我們用Nginx+PHP,在3萬并發鏈接下,開啟10個Nginx進程消耗150M內存。
  • 免費使用可以商業化:Nginx為開源軟件,采用的是2-clause BSD-like協議,可以免費使用,并且可以用于商業。
  • 配置文件簡單:網絡和程序配置通俗易懂,即使非專業運維也能看懂。
  • 反向代理功能,負載均衡功能
  • 安裝:liunx依賴

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

    Nginx的快速搭建

    基于Yum的方式安裝Nginx

    yum list | grep nginx

    如果不存在,或者不是你需要的版本,那我們可以自行配置yum源

    [nginx]name=nginx repobaseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/gpgcheck=0enabled=1

    在終端里輸入

    vim /etc/yum.repos.d/nginx.repo

    修改一下對應的操作系統和版本號,因為我的是centos和7的版本,所以改為這樣。

    baseurl=http://nginx.org/packages/centos/7/$basearch/

    安裝nginx

    yum install nginx

    安裝完成后可以使用命令,來檢測Nginx的版本。

    nginx -v

    這樣的話就把最新版本的Nginx安裝到了Linux系統中了。


    Nginx基本配置文件詳講

    查看Nginx的安裝目錄

    在使用yum安裝完Nginx后,需要知道系統中多了那些文件,它們都安裝到了那里。可以使用下面的命令進行查看:

    rpm -ql nginx

    rpm 是linux的rpm包管理工具,-q 代表詢問模式,-l 代表返回列表,這樣我們就可以找到nginx的所有安裝位置了。

    nginx.conf文件解讀

    nginx.conf 文件是Nginx總配置文件,在我們搭建服務器時經常調整的文件。
    進入etc/nginx目錄下,然后用vim進行打開:

    cd /etc/nginxvim nginx.conf

    文件的詳細注釋如下:

    #運行用戶,默認即是nginx,可以不進行設置 user nginx; #Nginx進程,一般設置為和CPU核數一樣 worker_processes 1; #錯誤日志存放目錄 error_log /var/log/nginx/error.log warn; #進程pid存放位置 pid /var/run/nginx.pid; events {worker_connections 1024; # 單個后臺進程的最大并發數 } http {include /etc/nginx/mime.types; #文件擴展名與類型映射表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; #nginx訪問日志存放位置sendfile on; #開啟高效傳輸模式#tcp_nopush on; #減少網絡報文段的數量keepalive_timeout 65; #保持連接的時間,也叫超時時間#gzip on; #開啟gzip壓縮include /etc/nginx/conf.d/*.conf; #包含的子配置項位置和文件

    default.conf 配置項講解

    最后有一個子文件的配置項,那我們打開這個include子文件配置項看一下里邊都有些什么內容。

    進入conf.d目錄,然后使用 vim default.conf 進行查看

    server {listen 80; #配置監聽端口server_name localhost; //配置域名#charset koi8-r; #access_log /var/log/nginx/host.access.log main;location / {root /usr/share/nginx/html; #服務默認啟動目錄index index.html index.htm; #默認訪問文件}#error_page 404 /404.html; # 配置404頁面# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html; #錯誤狀態碼的顯示頁面,配置后需要重啟location = /50x.html {root /usr/share/nginx/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;#}}

    我們的服務目錄放在了/usr/share/nginx/html下,可以使用命令進入看一下目錄下的文件。

    cd /usr/share/nginx/htmlls

    可以看到目錄下面有兩個文件,50x.html 和 index.html。我們可以使用vim進行編輯。
    nginx服務器已經可以為html提供服務器了。我們可以打開瀏覽器,訪問ip地址試一試。


    阿里云的安全組配置


    Nginx服務啟動、停止

    使用Linux的組合命令,進行查詢服務的運行狀況。

    ps aux | grep nginx

    啟動nginx

    nginx

    停止 nginx

    nginx -s quit

    重啟

    systemctl restart nginx.service

    查看端口號

    在默認情況下,Nginx啟動后會監聽80端口,從而提供HTTP訪問,如果80端口已經被占用則會啟動失敗。我么可以使用netstat -tlnp命令查看端口號的占用情況。


    Nginx訪問權限詳講

    Nginx訪問簡單用法,deny是禁止訪問,allow是允許訪問。但Nginx的訪問控制還是比較復雜的。

    進入 default.conf文件

    cd /etc/nginx/conf.dlsvim default.conf

    設置

    location / {deny 11.12.13.49;allow 33.77.202.231;}

    還可以使用正則表達式:

    location ~\.php$ {deny all;}

    注意點: 先出現的設置會覆蓋后出現的設置(也就是誰先觸發,誰起作用)


    Nginx設置虛擬主機

    虛擬主機是指在一臺物理主機服務器上劃分出多個磁盤空間,每個磁盤空間都是一個虛擬主機,每臺虛擬主機都可以對外提供Web服務,并且互不干擾。在外界看來,虛擬主機就是一臺獨立的服務器主機,這意味著用戶能夠利用虛擬主機把多個不同域名的網站部署在同一臺服務器上,而不必再為簡歷一個網站單獨購買一臺服務器,既解決了維護服務器技術的難題,同時又極大地節省了服務器硬件成本和相關的維護費用。

    基于端口號配置虛擬主機 、 基于IP的虛擬主機 、 配置以域名為劃分的虛擬主機

    配置在主文件里etc/nginx/nginx.conf文件里, 也可以配置在子配置文件里etc/nginx/conf.d/default.conf。我這里為了配置方便,就配置在子文件里了。當然你也可以再新建一個文件,只要在conf.d文件夾下就可以了。

    修改配置文件中的server選項,這時候就會有兩個server。

    server{listen 8001;server_name localhost;root /usr/share/nginx/html/html8001;index index.html;}

    在瀏覽器中分別訪問地址和帶端口的地址。看到的結果是不同的。
    在瀏覽器中訪問http://112.74.164.244:8001了,
    你的IP跟這個不一樣,這個IP過幾天就會過期。


    Nginx反向代理的設置

    訪問
    http://nginx.mayouchen.cn然后反向代理到mayouchen.cn這個網站。我們直接到etc/nginx/con.d/8001.conf進行修改。

    server{listen 80;server_name nginx.mayouchen.cn;location / {proxy_pass http://mayouchen.cn;}}

    常用指令:

    proxy_set_header :在將客戶端請求發送給后端服務器之前,更改來自客戶端的請求頭信息。proxy_connect_timeout:配置Nginx與后端代理服務器嘗試建立連接的超時時間。proxy_read_timeout : 配置Nginx向后端服務器組發出read請求后,等待相應的超時時間。proxy_send_timeout:配置Nginx向后端服務器組發出write請求后,等待相應的超時時間。proxy_redirect :用于修改后端服務器返回的響應頭中的Location和Refresh。

    總結

    以上是生活随笔為你收集整理的如何使用nginx的全部內容,希望文章能夠幫你解決所遇到的問題。

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