歐拉部署nginx的實(shí)現(xiàn)步驟
1.下載nginx
下載地址:https://nginx.org/en/download.html
選擇穩(wěn)定版本 下的鏡像文件進(jìn)行下載
2.解壓Nginx包
cd /root/nginx tar -zxvf nginx-1.26.0.tar.gz cd nginx-1.26.0
3.安裝nginx相關(guān)依賴
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
4.生成 Makefile 可編譯文件
./configure --with-http_ssl_module --with-http_stub_status_module
參數(shù)說明:
- –prefix=PATH:指定 nginx 的安裝目錄(默認(rèn)/usr/local/nginx)
- –conf-path=PATH:指定 nginx.conf 配置文件路徑
- –user=NAME:nginx 工作進(jìn)程的用戶
- –with-pcre:開啟 PCRE 正則表達(dá)式的支持
- with-http-realip_module:允許改變客戶端請(qǐng)求頭中客戶端 IP 地址
- –with-file-aio:?jiǎn)⒂?File AIO
- –add-module=PATH:添加第三方外部模塊
5.編譯和安裝
# 編譯 make # 安裝 make install
默認(rèn)的安裝路徑為:/usr/local/nginx
6.啟動(dòng)
cd /usr/local/nginx/sbin # 啟動(dòng) ./nginx # 查看進(jìn)程 ps -ef | grep nginx # 停止 /usr/local/nginx/sbin/nginx -s stop # 重啟 /usr/local/nginx/sbin/nginx -s restart
7.配置
非https配置
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #gzip on; upstream reverseProxyServer{ ip_hash; #負(fù)載均衡應(yīng)用服務(wù)器A: 權(quán)重為10,10s內(nèi)連接請(qǐng)求失敗2次,nginx在10s內(nèi)認(rèn)為server是不可用的,將不在發(fā)送請(qǐng)求給這臺(tái)服務(wù)器 server xxx.xxx.xx.xxx:9090 weight=10 max_fails=2 fail_timeout=10s; #負(fù)載均衡應(yīng)用服務(wù)器B: 代理服務(wù)器權(quán)重為5,10s內(nèi)連接請(qǐng)求失敗2次,nginx在10s內(nèi)認(rèn)為server是不可用的,將不在發(fā)送請(qǐng)求給這臺(tái)服務(wù)器 server xxx.xxx.xx.xxx:9090 weight=5 fail_timeout=10s max_fails=2; } upstream reverseGrafanaServer{ ip_hash; server xxx.xxx.xx.xxx:3000 weight=10 max_fails=2 fail_timeout=10s; server xxx.xxx.xx.xxx:3000 weight=8 max_fails=2 fail_timeout=10s; } server { listen 80; server_name xxx.com; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 30s; proxy_read_timeout 30s; #charset koi8-r; #access_log logs/host.access.log main; location /{ proxy_pass http://reverseProxyServer/; } location /grafana/{ proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 8 4M; proxy_busy_buffers_size 4M; proxy_pass http://reverseGrafanaServer/; } } }
https配置
http { ... server { listen 80; server_name xxx.com; #將請(qǐng)求轉(zhuǎn)成https rewrite ^(.*)$ https://$host$1 permanent; } server { listen 443 ssl; server_name xxx.com; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 30s; proxy_read_timeout 30s; #charset koi8-r; #ssl證書的pem文件路徑 ssl_certificate /usr/local/nginx/cert/server.crt; #ssl證書的key文件路徑 ssl_certificate_key /usr/local/nginx/cert/server.key; .... } }
FAQ:遇到問題總結(jié)
問題1:nginx: [emerg] unknown directive “ssl”
解決方法
1.nginx生成 Makefile可編譯文件時(shí)沒有開啟ssl,請(qǐng)參考步驟4
2.舊版本配置ssl和新版本不一致
server{ listen 443; xxx ssl on; #ssl證書的pem文件路徑 ssl_certificate /usr/local/nginx/cert/server.crt; #ssl證書的key文件路徑 ssl_certificate_key /usr/local/nginx/cert/server.key; }
應(yīng)改為
server{ listen 443 ssl; xxx #ssl證書的pem文件路徑 ssl_certificate /usr/local/nginx/cert/server.crt; #ssl證書的key文件路徑 ssl_certificate_key /usr/local/nginx/cert/server.key; }
問題2:curl: (60) SSL certificate problem: self signed certificate
解決方法:curl命令向服務(wù)器發(fā)送https請(qǐng)求, curl https的時(shí)候需要加上-k參數(shù)
問題3:nginx配了證書顯示站點(diǎn)連接不安全
解決方法:我手里有crt和key證書,因?yàn)槲矣胏rt證書使用openssl命令生成pem證書配置上去的原因
解決方法直接配置crt和key證書就行
到此這篇關(guān)于歐拉部署nginx的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)歐拉部署nginx內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決httpd占用80端口導(dǎo)致Nginx啟動(dòng)失敗報(bào)錯(cuò)的解決辦法
今天在建自己小網(wǎng)站時(shí)啟動(dòng)Nginx時(shí),發(fā)現(xiàn)其報(bào)下列錯(cuò)誤,意思是因?yàn)?0端口被占用導(dǎo)致Nginx啟動(dòng)失敗,所以本文小編給大家介紹介紹如何解決解決httpd占用80端口導(dǎo)致Nginx啟動(dòng)不成功報(bào)nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)2023-11-11一文搞懂Nginx限流(簡(jiǎn)單實(shí)現(xiàn))
這篇文章主要介紹了一文搞懂Nginx限流(簡(jiǎn)單實(shí)現(xiàn)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05Nginx反向代理出現(xiàn)502?Bad?Gateway問題解決
在配置Nginx反向代理時(shí)遇到502 Bad Gateway錯(cuò)誤,經(jīng)過排查發(fā)現(xiàn)是SSL握手問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-10-10