其實這個編譯很簡單,最近整理了下nginx,相對于apache,nginx的異步非阻塞處理高并發(fā)的場景更占優(yōu)勢,靜態(tài)請求可以丟給nginx處理,動態(tài)請求可以代理到apache去處理,這篇文章整理下nginx的安裝和https的配置,還有http重定向到https。
#依賴
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,可以先修改寫簡單配置,把user改成www用戶,打開pid注釋,然后在配置文件底下添加自己的https域名配置,(證書可以去騰訊申請個免費的,這里就不做說明,申請后把下載下來的crt和key放在自己的服務(wù)器上),然后在配置文件最底下添加
server {
listen 80;
server_name qyc.yzccz.cn;
return 301 https://$host$request_uri; #這個是http強制重定向到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請求轉(zhuǎn)發(fā)到php-fpm,php-fpm用的是tcp模式監(jiān)聽 9000端口
include /usr/local/nginx/conf/fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
}
}
這樣https就配置好了,有個坑和大家提下,如果你的域名沒有備案,就比如我的,配置完強轉(zhuǎn)后,去訪問qyc.yzccz.cn ,會被403攔截下來,你可以在連接后加個.就能看到強轉(zhuǎn)效果:qyc.yzccz.cn.
最后nginx的啟動、關(guān)閉和重啟命令:
在sbin目錄下
啟動 ./nginx
關(guān)閉 ./nginx -s stop
重載配置 ./nginx -s reload
查看配置文件合法 ./nginx -t
可以把nginx配置到服務(wù),并配置開機啟動,這里就不介紹了。注意一點,如果本地開了apache,先關(guān)了再啟動nginx,默認(rèn)下都占用了80端口。