為您提供行業(yè)資訊、活動(dòng)公告、產(chǎn)品發(fā)布,匯聚最前沿流行的云計算技術(shù)
Nginx是一款由俄羅斯程序員Igor Sysoev所開(kāi)發(fā)的,它可以被作用HTTP和反向代理服務(wù)器,也可以用作電子郵件代理服務(wù)器。Nginx最初設計是為了俄羅斯訪(fǎng)問(wèn)量最大的網(wǎng)站rambler.ru所設計的,后來(lái)因為其出色的高性能被眾多的大型網(wǎng)站所采用,如百度、京東、新浪、網(wǎng)易、騰訊、淘寶等都用了Nginx,是個(gè)程序員你不會(huì )點(diǎn)Nginx你都不好意思。 Nginx在Linux服務(wù)器上的表現是最佳的,簡(jiǎn)直就是為L(cháng)inux貼身打造的,事實(shí)上也是這樣原作者參考了Linux設計的很多思想,這里我們就講解一下如果在Linux 設置 Nginx,并配置SSL,讓其實(shí)現HTTPS/WSS訪(fǎng)問(wèn)。 Nginx Linux 安裝 Nginx第一個(gè)公開(kāi)版本0.1.0發(fā)布于2004年10月4日,截止目前2018年11月11日最新版本是1.15.6,但是這里我們以1.11.6版本為例,其他版本類(lèi)似,只需把版本號替換一下就是。 在根目錄下輸入下面的命令下載Nginx wget -c https://nginx.org/download/nginx-1.11.6.tar.gz 輸入下面的命令解壓壓縮包 tar -zxvf nginx-1.11.6.tar.gz 在執行命令前我們需要添加依賴(lài)庫,繼續輸入下面的命令 1、安裝gcc 環(huán)境 yum install gcc-c++ 2、安裝PCRE依賴(lài)庫 yum install -y pcre pcre-devel PCRE(Perl Compatible Regular Expressions) 是一個(gè)Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來(lái)解析正則表達式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開(kāi)發(fā)的一個(gè)二次開(kāi)發(fā)庫。 3、安裝zlib 依賴(lài)庫 yum install -y zlib zlib-devel zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進(jìn)行 gzip ,所以需要在 Centos 上安裝 zlib 庫。 zlib依賴(lài)庫安裝命令: 4、安裝OpenSSL安全套接字層密碼庫 yum install -y openssl openssl-devel OpenSSL 是一個(gè)強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書(shū)封裝管理功能及 SSL 協(xié)議,并提供豐富的應用程序供測試或其它目的使用。 Nginx 不僅支持 http 協(xié)議,還支持 https(即在ssl協(xié)議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。 進(jìn)入Nginx安裝目錄(cd nginx-1.11.6 )執行配置命令 ./configure 編譯安裝Nginx 執行安裝命令 make install 啟動(dòng)、停止Nginx等常用命令說(shuō)明 首先進(jìn)入Nginx目錄 cd /usr/local/nginx/sbin/ 下面的命令意思如下 ./nginx 開(kāi)啟 ./nginx -s stop 停止 ./nginx -s quit 此方式停止步驟是待nginx進(jìn)程處理任務(wù)完畢進(jìn)行停止。 ./nginx -s reload 重新加載Nginx配置文件 更改Nginx配置文件 進(jìn)入配置文件文件夾 cd /usr/local/nginx/conf 備份配置文件 cp nginx.conf nginx.conf.back 編輯nginx.conf配置文件 vi nginx.conf Linux Vi編輯命令如下: i鍵進(jìn)入編輯模式 Esc鍵退出編輯模式進(jìn)入命令模式 命令模式下:英文冒號+q!代表不保存退出,英文冒號+wq保存退出 要實(shí)現https訪(fǎng)問(wèn),Nginx配置文件如下示例: worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; upstream mqttServer { server 你需要轉發(fā)目的地址+端口 weight=1; #check interval=3000 rise=2 fall=5 timeout=1000; } server { listen 443 ssl; server_name 你的域名; ssl_certificate C:/nginx-ssl/crt地址; ssl_certificate_key C:/nginx-ssl/key地址; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://mqttServer; proxy_redirect off; proxy_connect_timeout 86400; proxy_read_timeout 86400; proxy_send_timeout 86400; } keepalive_timeout 1000; } } 要實(shí)現WSS訪(fǎng)問(wèn),Nginx配置文件如下示例: worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; upstream mqttServer { server 你需要轉發(fā)目的地址+端口 weight=1; #check interval=3000 rise=2 fall=5 timeout=1000; } server { listen 443 ssl; server_name 你的域名; ssl_certificate C:/nginx-ssl/crt地址; ssl_certificate_key C:/nginx-ssl/key地址; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://mqttServer; proxy_redirect off; proxy_connect_timeout 86400; proxy_read_timeout 86400; proxy_send_timeout 86400; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } keepalive_timeout 1000; } } 然后使用命令保存退出,重新加載配置 ./nginx -s reload 可是大多數第一次安裝https證書(shū),都會(huì )報錯,說(shuō)缺少SSL模塊,報錯信息如下所示: nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37 這時(shí)我們需要先安裝SSL模塊: 需要確認如下兩點(diǎn): 1、Nginx安裝位置/usr/local/nginx/ 2、Nginx的源碼包放在了/nginx-1.11.6下,如果沒(méi)有的話(huà),重新下載你對應的Nginx版本的源碼包,找個(gè)目錄解壓 3、切換目錄到Nginx的源碼包位置 cd /nginx-1.11.6 4、執行命令安裝ssl模塊 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 5、安裝 make 6、先備份Nginx cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak 7、關(guān)閉Nginx(因為要把新的模塊覆蓋舊的nginx) 先找到nginx端口號,如圖,目前我nginx的進(jìn)程號為:13542 ps -ef|grep nginx 執行語(yǔ)句,殺死該進(jìn)程 kill -QUIT 13542 8、重新加載數據 cp ./objs/nginx /usr/local/nginx/sbin/ #先切換到sbin目錄 cd /usr/local/nginx/sbin/ #最后啟動(dòng)nginx: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 因為剛才替換nginx模塊的時(shí)候是把nginx進(jìn)程都殺死了,所以要用上面的命令進(jìn)行啟動(dòng),而不能使用reload重啟。 現在Nginx就不會(huì )報錯了,以上就是Linux 設置 Nginx 并配置SSL 實(shí)現HTTPS/WSS協(xié)議訪(fǎng)問(wèn)新手教程,希望可以幫助的Nginx配置Https和WSS轉發(fā)的新手朋友。
更多資訊:更多資訊
本站發(fā)布的【Linux 設置 Nginx 并配置SSL 實(shí)現HTTPS/WSS協(xié)議訪(fǎng)問(wèn)新手教程】?jì)热荩▓D片、視頻和文字)以原創(chuàng )、轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng)
如果涉及侵權請盡快告知,我們將會(huì )在第一時(shí)間立刻刪除涉嫌侵權內容,本站原創(chuàng )內容未經(jīng)允許不得轉載,或轉載時(shí)需注明出處。
Copyright ? 2009-2024 56dr.com. All Rights Reserved. 特網(wǎng)科技 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站