Ubuntu16.04安裝及配置nginx

Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 爲俄羅斯訪問量第二的 Rambler.ru 站點開發的,第一個公開版本0.1.0發佈於2004年10月4日。其將源代碼以類BSD許可證的形式發佈,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。html

首先需安裝nginx依賴庫nginx

1.安裝gcc g++的依賴庫vim

apt-get install build-essential
apt-get install libtool

2.安裝pcre依賴庫服務器

sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev

3.安裝zlib依賴庫編輯器

apt-get install zlib1g-dev

4.安裝ssl依賴庫性能

apt-get install openssl

安裝nginxui

#下載最新版本:
wget http://nginx.org/download/nginx-1.11.3.tar.gz
#解壓:
tar -zxvf nginx-1.11.3.tar.gz
#進入解壓目錄:
cd nginx-1.11.3
#配置:
./configure --prefix=/usr/local/nginx 
#編輯nginx:
make
注意:這裏可能會報錯,提示「pcre.h No such file or directory」,具體詳見:http://stackoverflow.com/questions/22555561/error-building-fatal-error-pcre-h-no-such-file-or-directory
須要安裝 libpcre3-dev,命令爲:sudo apt-get install libpcre3-dev
#安裝nginx:
sudo make install
#啓動nginx:
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
注意:-c 指定配置文件的路徑,不加的話,nginx會自動加載默認路徑的配置文件,能夠經過 -h查看幫助命令。
#查看nginx進程:
ps -ef|grep nginx

配置nginxspa

cd /usr/local/nginx/conf/

使用vim或nano編輯器在該目錄下新建一個ihasy.conf文件輸入如下內容:代理

    server 127.0.0.1:9001; #Tornado
}
server { listen 80; server_name www.ihasy.com ihasy.com; #root html; #index index.html index.htm index.py index; ## send request back to Tornado ## location / { proxy_pass http://ihasy; #Proxy Settings 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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }

再使用vim或nano打開 /usr/local/nginx/conf/nginx.confcode

nano /usr/local/nginx/conf/nginx.conf

在http下添加一行

include ihasy.conf

保存,重啓nginx,便可實現反向代理。

sudo /usr/local/nginx/sbin/nginx -t

sudo /usr/local/nginx/sbin/nginx -s reload

 nginx多個轉發的配置

upstream u1{
    server 127.0.0.1:18082; #Tornado
}

server {
    server_name  a.kejiefu.top;

    #root   html;
    #index  index.html index.htm index.py index;

    ## send request back to Tornado ##
    location / {
        proxy_pass  http://u1;

        #Proxy Settings
        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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_max_temp_file_size 0;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
   }
}
upstream u2{ server
127.0.0.1:8088; #Tornado } server { server_name www.kejiefu.top; #root html; #index index.html index.htm index.py index; ## send request back to Tornado ## location / { proxy_pass http://u2; #Proxy Settings 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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
相關文章
相關標籤/搜索