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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux Nginx的安装与配置(全程图文记录超详细)

發布時間:2024/1/1 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux Nginx的安装与配置(全程图文记录超详细) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、本文內容的包含

  • Nginx的安裝和使用
  • Http和Https(80和443端口)的訪問配置
  • Http自動重定向到Https
  • SSL證書的使用

  • 二、前言

    Nginx 是一款由俄羅斯的程序設計師 Igor Sysoev 所開發的高性能 Web反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。在高連接并發的情況下,可以使用 Nginx 替代 Apache 服務器。

    官網下載頁地址

    我選擇使用官網上的最新穩定版 Stable version v1.22.0 版本 進行演示,目錄請自由選擇。


    三、大致步驟

    • PS:如果需要 Rewrite 服務的話,需要先移步下面 “8. https依賴安裝” 進行 PCRE 安裝,方便安裝 nginx 時一起配置

    1. 拷貝壓縮包并解壓

    # 可以打開鏈接下載后上傳至服務器,也可以使用下載命令獲取安裝包 $ wget https://nginx.org/download/nginx-1.22.0.tar.gz# 目錄請自由選擇 $ cp nginx-1.22.0.tar.gz /usr/local/webserver/ $ cd /usr/local/webserver/ $ tar -zxvf nginx-1.22.0.tar.gz

    2. 檢查配置并指定安裝參數

    $ cd nginx-1.22.0/ $ ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/webserver/pcre-8.45

    拆解一下上面的命令:

    ./configure 是編譯前檢查的命令,--prefix=/usr/local/webserver/nginx 是安裝到指定目錄,--with-http_stub_status_module --with-http_ssl_module 是安裝ssl證書的兩個模塊,--with-pcre=/usr/local/src/pcre-8.35 是**PCRE**的安裝位置(https相關,可選項,后面有說明)

    注:如果沒有安裝過 gcc、ssl等,執行檢查步驟可能會報錯,需要先安裝以下工具

    $ yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel# 重新檢查 $ ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/webserver/pcre-8.45

    3. 編譯 和 安裝

    $ make && make install 安裝完成后,會在 /usr/local/webserver/ 目錄下生成一個 nginx 的目錄,這是我們指定的位置。 安裝后生成的 nginx 里面有四個目錄 (conf html logs sbin),配置文件在 conf/nginx.conf, 啟動文件在 sbin/nginx,先別著急啟動,我們先完成http的配置

    此時,/usr/local/webserver/nginx-1.22.0目錄 就不會再用到了,可以對無用目錄和文件進行刪除

    PS: 完成后可以按需刪除安裝包和解壓目錄

    $ rm -f /usr/local/webserver/pcre-8.45.tar.gz $ rm -f /usr/local/webserver/nginx-1.22.0.tar.gz# 安裝后解壓目錄也可以刪除,因為是文件夾,加上 -r 遍歷刪除 $ rm -rf /usr/local/webserver/nginx-1.22.0

    4. 設置軟鏈

    $ ln -s /usr/local/webserver/nginx/sbin/nginx /usr/bin/# 設置軟鏈后,可以嘗試在其他目錄使用以下命令看是否成功 $ nginx -v

    5. 創建專屬組和用戶

    $ /usr/sbin/groupadd nginx $ /usr/sbin/useradd -g nginx nginx

    6. 配置nginx.conf

    為避免篇幅影響目錄視覺,配置文件放在了最后,請移步至下面 “配置nginx的http和https” 進行配置完成后,再繼續 第7步操作

    7. 檢查配置、啟動、測試(查看進程、網頁訪問)

    # 檢查配置 $ nginx -t(檢查nginx.conf配置是否正確) $ nginx -s reload(重新載入配置文件,通常配合-t使用,在修改了nginx.conf且檢查無誤之后)

    # 啟動 $ nginx# 查看進程 $ ps -ef | grep nginx

    # 其他的一些常用命令 $ nginx -s stop(停止 Nginx) $ nginx -s reopen(重啟 Nginx)$ systemctl status nginx.service(查看nginx服務狀態,通常配合-t使用)
    • 錯誤:

    途中遇到個這個錯誤,上網查說是nginx.conf文件格式不是utf-8導致的,我看文件120行明明是注釋,這也能報錯?結果我查看服務器上的文件后才發現,是因為本地修改文件后上傳沒有覆蓋掉,而是每次上傳時內容追加到文件里去了,應該是lrzsz使用不當導致的烏龍事件

    nginx: [emerg] “worker_processes” directive is duplicate in /usr/local/webserver/nginx/conf/nginx.conf:120


    8. https依賴安裝(可選)

    除此之外,如果需要 Rewrite 功能(將http訪問轉發到https),還需要安裝 PCRE,我選擇官使用網上目前最新且下載量最高的 v8.45 版本

    安裝之前如果服務器沒有安裝過gcc相關的編譯工具和庫文件,需要先進行安裝,如果已安裝會自動跳過并提示

    $ yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

    # 遠程拉取安裝包 $ cd /usr/local/webserver/ $ wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz# 解壓安裝包: $ tar -zxvf pcre-8.35.tar.gz# 進入安裝包目錄 $ cd pcre-8.35# 編譯安裝 $ ./configure $ make && make install# 查看pcre版本,這時候已經可以全局使用下面的命令了 $ pcre-config --version

    下面就是 nginx.conf 的配置了,httphttps 是在同一個文件里的


    四、配置nginx的http和https

    nginx.conf 文件內默認是有基礎配置的,建議把配置文件下載到本地,用其他編輯器(例如 VS code)修改完后,再上傳覆蓋掉原來的文件,不用擔心,同目錄下有一個原始文件的備份(nginx.conf.default)

    注意:

    可操作項,根據實際項目修改,https不需要的可以注釋掉 如果有Apache占用了80端口,將端口號改成其他端口 重點項在里面都標記了出來,http中有host配置,https中有host和ssl證書配置 修改完后,如果服務器已啟動過,使用命令重載一下配置 `$ nginx -s reload` 完成以下配置后可以回到 **第7步繼續** $ vim /usr/local/webserver/nginx/conf/nginx.conf

    nginx.conf

    user nginx; worker_processes 2; #設置與服務器CPU核心數一致, 也可以使用 autoerror_log /logs/nginx/error.log crit; #日志位置和級別#pid logs/nginx.pid;events {worker_connections 1024; }http {include 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 /logs/nginx/access.log main;sendfile on;tcp_nopush on;tcp_nodelay on;#keepalive_timeout 0;keepalive_timeout 65;gzip on;# HTTP 服務server {listen 80;server_name localhost; #重點1,修改為主機名或域名rewrite ^(.*)$ https://$server_name$1 permanent; #將所有HTTP請求通過rewrite指令重定向到 HTTPS#charset koi8-r;#access_log logs/host.access.log main;location / {root html; #重點2,如要自定義路徑請修改,默認是nginx/html/index index.html index.htm; #根索引文件,也就是輸入ip或域名后在瀏覽器訪問的第一頁面}error_page 404 /404.html;# redirect server error pages to the static page /50x.htmlerror_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}# HTTPS 服務server {listen 443 ssl;server_name localhost; #重點1,修改為主機名或域名# 證書可以用openssl命令生成,也可以直接到購買的域名商里下載 Nginx使用的ssl證書,# 然后上傳到 nginx.conf 同一目錄下ssl_certificate cert.pem; #重點2,ssl證書ssl_certificate_key cert.key; #重點3,ssl證書keyssl_session_cache shared:SSL:1m;ssl_session_timeout 10m; #超時# 加密協議等等ssl_protocols TLSv1 TLSv1.1 TLSv1.2;# ssl_ciphers PROFILE=SYSTEM;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_prefer_server_ciphers on;location / {root html; #重點4,如要自定義路徑請修改index index.html index.htm;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}}

    五、結束

    服務啟動成功后,在瀏覽器訪問服務器地址,如果修改了80或者443端口記得在訪問時加上(如果配置了域名可以使用域名),另外在云服務器設置里設置網絡防火墻 入規則 端口,開放http(80)和https(443)端口。如果使用域名訪問記得在域名設置里 解析到當前服務器的ip上

    阿里云服務器在:服務器實例 -> 網絡與安全:安全組 -> 配置規則 -> 入方向

    騰訊云服務器在:服務器實例 -> 防火墻

    總結

    以上是生活随笔為你收集整理的Linux Nginx的安装与配置(全程图文记录超详细)的全部內容,希望文章能夠幫你解決所遇到的問題。

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