【網路】安裝Nginx筆記

前言

up安裝nginx主要是為了在伺服器上做反向代理。有興趣的同學可以參考下。後面會整理出部落格網站搭建的筆記分享出來(其實網上也有很多了)。

原文:李柱明部落格://www.cnblogs.com/lizhuming/p/16888637.html

注意:

  1. 當前筆記基於ubuntu,可直接複製命令。

安裝前先更新下

sudo apt-get update

安裝依賴庫

#安裝openssl庫
sudo apt-get install openssl libssl-dev
#安裝pcre
sudo apt-get install libpcre3 libpcre3-dev
#安裝zlib
sudo apt-get install zlib1g-dev
#安裝編譯包
sudo apt-get install build-essential

下載Nginx

nginx官網://nginx.org/

今具體版本可以去這裡選://nginx.org/download

#在對應目錄下載nginx
wget //nginx.org/download/nginx-1.23.2.tar.gz
#解壓
tar -zxvf nginx-1.23.2.tar.gz
#進入目錄
cd nginx-1.23.2

ngin文件夾內容如下:

lzm@VM-12-11-ubuntu:~/work/blog_server/nginx-1.23.2$ ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  sr

Nginx編譯配置

在安裝配置前,先確認下當前配置:./configure --help

如果通過修改參數來修改配置:

如:

  • 安裝路徑:--prefix=/usr/local/nginx
  • 添加一個模組功能:--with-xxx_mmodule

我這裡就簡單添加下http的模組即可:

sudo ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_module

配置成功會顯示1如下:

編譯&安裝&驗證nginx

編譯:

sudo make

安裝:

sudo make install

驗證:

# 切換到nginx安裝路徑
cd /usr/local/nginx
#啟動nginx
sudo ./sbin/nginx
# 查看當前在跑的nginx版本&配置
sudo ./sbin/nginx -V

如下表示啟動成功:

在瀏覽器輸入安裝了nginx的主機IP,出現如下圖即表示nginx正常運行:

Nginx服務配置

配置文件再Nginx安裝目錄下的./conf/nginx.conf,我們修改該文件根據自己的服務進行配置即可。

配置理解可以參考:菜鳥

  • 全局塊 :配置影響nginx全局的指令。一般有運行nginx伺服器的用戶組,nginx進程pid存放路徑,日誌存放路徑,配置文件引入,允許生成worker process數等。
  • events塊 :配置影響nginx伺服器或與用戶的網路連接。有每個進程的最大連接數,選取哪種事件驅動模型處理連接請求,是否允許同時接受多個網路連接,開啟多個網路連接序列化等。
  • http塊 :可以嵌套多個server,配置代理,快取,日誌定義等絕大多數功能和第三方模組的配置。如文件引入,mime-type定義,日誌自定義,是否使用sendfile傳輸文件,連接超時時間,單連接請求數等。
  • server塊 :配置虛擬主機的相關參數,一個http中可以有多個server。
  • location塊 :配置請求的路由,以及各種頁面的處理情況。

配置SSL

這個按需選擇。

先拿到證書,如果想公網訪問,可去域名處申請免費的SSL證書,如:騰訊雲

申請成功後以nginx下載:

把證書放到指定目錄:主要是兩個文件:證書鏈.pem和私鑰.key

cd /usr/local/nginx
sudo mkdir ./conf/cert
# 根據自己證書的位置操作
cp /home/lzm/cert/xxx.* ./ccert

修改nginx配置:

sudo vim 

開放&配置https程式碼:

    #HTTPS server
    server {
        listen       443 ssl;
        #監聽的地址
        server_name  localhost;

        #改為你的證書
        ssl_certificate      ./cert/cert.pem;
        #改為你的私鑰
        ssl_certificate_key  ./cert/cert.key;
        # session cache功能
        ssl_session_cache    shared:SSL:1m;
        # 會話重用時限
        ssl_session_timeout  5m;
        # 支援的加密套件
        ssl_ciphers  HIGH:!aNULL:!MD5;
        # 是否由伺服器指定加密套件
        ssl_prefer_server_ciphers  off;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

重啟nginx:

cd /usr/local/nginx/sbin/
sudo ./nginx -s reload

使用https訪問:

參考