linux之nginx安裝與簡單配置

第一部分:nginx安裝

什麼是Nginx?html

Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器,在高鏈接併發的狀況下Nginx 是 Apache 服務器不錯的替代品.其特色是佔有內存少,併發能力強,事實上nginx的併發能力確實在同類型的網頁服務器中表現較好.目前中國大陸使用nginx網站用戶有:新浪、網易、 騰訊,另外知名的微網誌Plurk也使用nginx。nginx

Nginx的安裝web

模塊依賴性Nginx須要依賴下面3個包跨域

1. gzip 模塊須要 zlib 庫 ( 下載: http://www.zlib.net/ )服務器

2. rewrite 模塊須要 pcre 庫 ( 下載: http://www.pcre.org/ )session

3. ssl 功能須要 openssl 庫 ( 下載: http://www.openssl.org/ )併發

Nginx包下載: http://nginx.org/en/download.html性能

依賴包安裝順序依次爲:openssl、zlib、pcre, 而後安裝Nginx包.網站

 

圖解教程spa

第一步: 下載安裝所需包,版本能夠更改。

openssl-fips-2.0.2.tar.gz
zlib-1.2.7.tar.gz
pcre-8.21.tar.gz
nginx-1.2.6.tar.gz

  

第二步:依次安裝openssl-fips-2.0.2.tar.gz, zlib-1.2.7.tar.gz, pcre-8.21.tar.gz, nginx-1.2.6.tar.gz

1.安裝openssl-fips-2.0.2.tar.gz

[root@localhost mrms]# tar -zxvf openssl-fips-2.0.2.tar.gz 
[root@localhost mrms]# cd openssl-fips-2.0.2
[root@localhost openssl-fips-2.0.2]# ./config 
[root@localhost openssl-fips-2.0.2]# make
[root@localhost openssl-fips-2.0.2]# make install 

2.安裝zlib-1.2.7.tar.gz

2.安裝zlib-1.2.7.tar.gz

[root@localhost mrms]# tar -zxvf zlib-1.2.7.tar.gz
[root@localhost mrms]# cd zlib-1.2.7
[root@localhost zlib-1.2.7]# ./configure 
[root@localhost zlib-1.2.7]# make
[root@localhost zlib-1.2.7]# make install

  

3.安裝pcre-8.21.tar.gz

[root@localhost mrms]./nginx -s stop
[root@localhost mrms]./nginx -s reload

  

# tar -zxvf pcre-8.21.tar.gz [root@localhost mrms]# cd pcre-8.21 [root@localhost pcre-8.21]# ./configure [root@localhost pcre-8.21]# make [root@localhost pcre-8.21]# make install

4.安裝 nginx-1.2.6.tar.gz

[root@localhost mrms]# tar -zxvf nginx-1.2.6.tar.gz 
[root@localhost mrms]# cd nginx-1.2.6
[root@localhost nginx-1.2.6]# ./configure --with-pcre=../pcre-8.21 --with-zlib=../zlib-1.2.7 --with-openssl=../openssl-fips-2.0.2
[root@localhost nginx-1.2.6]# make
[root@localhost nginx-1.2.6]# make install

至此Nginx的安裝完成!

第三步:檢測是否安裝成功

[root@localhost nginx-1.2.6]# cd  /usr/local/nginx/sbin

[root@localhost sbin]# ./nginx -t

啓動nginx

[root@localhost sbin]# ./nginx

查看端口

[root@localhost sbin]# netstat -ntlp

關閉和重啓nginx

[root@localhost mrms]./nginx -s stop
[root@localhost mrms]./nginx -s reload

第二部分:ssl證書製做

首先執行以下命令生成一個key

openssl genrsa -des3 -out ssl.key 1024 
輸入密碼:123456

而後他會要求你輸入這個key文件的密碼。不推薦輸入。由於之後要給nginx使用。每次reload nginx配置時候都要你驗證這個PAM密碼的。  

因爲生成時候必須輸入密碼。你能夠輸入後 再刪掉。

 mv ssl.key 123456.key
 openssl rsa -in 123456.key -out ssl.key
 rm 123456.key

 而後根據這個key文件生成證書請求文件

openssl req -new -key ssl.key -out ssl.csr

   以上命令生成時候要填一下東西, 一個個看着寫吧(能夠隨便,畢竟這是本身生成的證書) 

最後根據這2個文件生成crt證書文件

openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

這裏365是證書有效期 推薦3650哈哈。這個你們隨意。最後使用到的文件是key和crt文件。
若是須要用pfx 能夠用如下命令生成

openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx 

在須要使用證書的nginx配置文件的server節點裏加入如下配置就能夠了。

ssl on;
ssl_certificate /home/ssl.crt;
ssl_certificate_key /home/ssl.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;

而後重啓nginx就大功告成了

第三部分:nginx.conf文件配置

配置http與https轉發

#昌吉車輛監控系統 web
upstream vms_server { server 127.0.0.1:8080; } server{ listen 59020; server_name localhost; location /vms_server/ { proxy_pass http://vms_server/VMS/rest/; #設置容許跨域 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods "POST, GET, OPTIONS"; add_header Access-Control-Allow-Headers "Origin,Authorization,Accept"; add_header Access-Control-Allow-Credentials true; } }

# HTTPS server
server {
listen 59018 ssl;
server_name www.hejj.com;

resolver 8.8.8.8;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 20m;
ssl on;
ssl_certificate_key D:\ssl/ssl.key;
ssl_certificate D:\ssl/ssl.crt;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

#車輛監控 https
location /vms_server/ {
proxy_pass http://vms_server/VMS/rest/;
#設置容許跨域
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "POST, GET, OPTIONS";
add_header Access-Control-Allow-Headers "Origin,Authorization,Accept";
add_header Access-Control-Allow-Credentials true;
}
}

遇到問題

location /index/ {
root html;
index index.html index.htm;
}

這個不能被註釋,不然nginx訪問出現403

參照博客:https://www.cnblogs.com/kingsy/p/7879115.html

參照博客:https://blog.csdn.net/dyllove98/article/details/8892509  

相關文章
相關標籤/搜索