其實(shí)這個(gè)編譯很簡(jiǎn)單,最近整理了下nginx,相對(duì)于apache,nginx的異步非阻塞處理高并發(fā)的場(chǎng)景更占優(yōu)勢(shì),靜態(tài)請(qǐng)求可以丟給nginx處理,動(dòng)態(tài)請(qǐng)求可以代理到apache去處理,這篇文章整理下nginx的安裝和https的配置,還有http重定向到https。
#依賴(lài)
yum install -y openssl openssl-devel pcre pcre-devel zlib zlib-devel
#下載最新stable版本
wget http://nginx.org/download/nginx-1.12.1.tar.gz
#編譯安裝
tar -zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --with-http_ssl_module && make && make install
#推薦默認(rèn)安裝,也可以自己制定路徑
./configure
--sbin-path=/usr/local/nginx/nginx
--conf-path=/usr/local/nginx/nginx.conf
--pid-path=/usr/local/nginx/nginx.pid
--with-http_ssl_module
--with-pcre=
--with-zlib=
--with-http_ssl_module
安裝完后配置文件都在conf文件夾下,基礎(chǔ)配置是nginx.conf,可以先修改寫(xiě)簡(jiǎn)單配置,把user改成www用戶(hù),打開(kāi)pid注釋?zhuān)缓笤谂渲梦募紫绿砑幼约旱膆ttps域名配置,(證書(shū)可以去騰訊申請(qǐng)個(gè)免費(fèi)的,這里就不做說(shuō)明,申請(qǐng)后把下載下來(lái)的crt和key放在自己的服務(wù)器上),然后在配置文件最底下添加
server {
listen 80;
server_name qyc.yzccz.cn;
return 301 https://$host$request_uri; #這個(gè)是http強(qiáng)制重定向到https關(guān)鍵的一行
}
server {
listen 443 ssl;
ssl_certificate /usr/local/nginx/ssl/1_qyc.yzccz.cn_bundle.crt;
ssl_certificate_key /usr/local/nginx/ssl/2_qyc.yzccz.cn.key;
server_name qyc.yzccz.cn;
root /usr/local/nginx/html;
location / {
index index.php;
autoindex on;
}
location ~ \.php$ { #php請(qǐng)求轉(zhuǎn)發(fā)到php-fpm,php-fpm用的是tcp模式監(jiān)聽(tīng) 9000端口
include /usr/local/nginx/conf/fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
}
}
這樣https就配置好了,有個(gè)坑和大家提下,如果你的域名沒(méi)有備案,就比如我的,配置完強(qiáng)轉(zhuǎn)后,去訪(fǎng)問(wèn)qyc.yzccz.cn ,會(huì)被403攔截下來(lái),你可以在連接后加個(gè).就能看到強(qiáng)轉(zhuǎn)效果:qyc.yzccz.cn.
最后nginx的啟動(dòng)、關(guān)閉和重啟命令:
在sbin目錄下
啟動(dòng) ./nginx
關(guān)閉 ./nginx -s stop
重載配置 ./nginx -s reload
查看配置文件合法 ./nginx -t
可以把nginx配置到服務(wù),并配置開(kāi)機(jī)啟動(dòng),這里就不介紹了。注意一點(diǎn),如果本地開(kāi)了apache,先關(guān)了再啟動(dòng)nginx,默認(rèn)下都占用了80端口。