Linux下配置Nginx並使用https協議


環境

Centos7.6
nginx-1.17.0

下載

官網:http://nginx.org/download/nginx-1.17.0.tar.gz

環境確認

在安裝nginx前首先要確認系統中是否安裝gccpcre-develzlib-developenssl-devel

  • 檢查是否安裝過軟件包
yum list installed | grep xxx

在這里插入圖片描述

  • 安裝軟件包
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

在這里插入圖片描述
上圖為已安裝


安裝

  • nginx-1.17.0.tar.gz上傳至服務器並解壓
tar -xzvf nginx-1.17.0.tar.gz

解壓后如下所示:
在這里插入圖片描述

  • nginx目錄下編譯安裝nginx
./configure --prefix=/usr/local/nginx1.17.0 --conf-path=/usr/local/nginx1.17.0/nginx.conf --with-http_stub_status_module --with-http_ssl_module

--with-http_ssl_module配置nginx支持https協議訪問,不使用https可以不用添加該命令
在這里插入圖片描述
該命令編譯nginx時將配置文件nginx.conf生成在nginx目錄下,因編譯后出現錯誤,采用這種方式,詳見后面錯誤記錄,因此,nginx的配置文件不再是conf中的nginx.conf
在這里插入圖片描述

  • 順序執行makemake install編譯
make

在這里插入圖片描述
make install
在這里插入圖片描述

  • 測試是否安裝成功
./sbin/nginx -t

在這里插入圖片描述

  • 啟動nginx
./sbin/nginx

在這里插入圖片描述

  • 停止nginx
./sbin/nginx -s stop
  • 重啟nginx
./sbin/nginx -s reload
  • 查看nginx進程
ps -ef | grep nginx

在這里插入圖片描述

  • 訪問:瀏覽器訪問服務器IP(nginx默認端口為80),出現如下界面則證明成功
    在這里插入圖片描述

配置HTTPS

  • 服務器上安裝opensslopenssl-devel
yum install openssl  openssl-devel
  • 創建證書存放目錄
mkdir   /usr/local/nginx/conf/ssl
  • 創建服務器私鑰
openssl genrsa -des3 -out server.key 2048 #根據提示輸入證書口令

在這里插入圖片描述

  • 創建簽名請求的證書(CSR
openssl req -new -key server.key -out server.csr  #輸入上面設置的口令,根據提示輸入相應的信息

在這里插入圖片描述

  • key進行解密
openssl rsa -in server.key -out server_nopasswd.key

在這里插入圖片描述

  • 標記證書使用上述私鑰和CSR
openssl x509 -req -days 365 -in server.csr -signkey server_nopasswd.key -out server.crt

在這里插入圖片描述

  • vim修改nginx配置文件,加載ssl證書
server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      /usr/local/nginx-1.17.0/conf/ssl/server.crt;
        ssl_certificate_key  /usr/local/nginx-1.17.0/conf/ssl/server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_protocols TLSv1.2;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }
  • 輸入證書密碼啟動nginx
    在這里插入圖片描述

  • 瀏覽器訪問測試:https://服務器IP + 端口443,出現如下界面則成功
    在這里插入圖片描述

錯誤記錄

  • nginx報錯:cp: `conf/koi-win' and `/usr/local/nginx/conf/koi-win' are the same file
    在這里插入圖片描述

該錯誤為編譯安裝nginx時沒有指定conf-path出現的,出現問題的命令:

./configure --prefix=/usr/local/nginx1.17.0 --with-http_stub_status_module --with-http_ssl_module

將命令改為如下指定conf-path后正常:

./configure --prefix=/usr/local/nginx1.17.0 --conf-path=/usr/local/nginx1.17.0/nginx.conf --with-http_stub_status_module --with-http_ssl_module

暫不知具體原因,感謝大佬
centos安裝nginx 報錯:cp: 'conf/koi-win' and '/usr/local/nginx/conf/koi-win' are the same file

.end


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM