1. 程式人生 > >Ubuntu安裝nginx並配置應用

Ubuntu安裝nginx並配置應用

安裝gcc g++的依賴庫

1

2

apt-get install build-essential

apt-get install libtool

centeros平臺可以使用如下命令。

1

2

3

4

5

6

centos平臺編譯環境使用如下指令

 

安裝make:

yum -y install gcc automake autoconf libtool make

 

安裝g++:

yum install gcc gcc-c++  

安裝 pcre依賴庫(
http://www.pcre.org/

1

2

sudo apt-get update

sudo apt-get install libpcre3 libpcre3-dev

安裝 zlib依賴庫(http://www.zlib.net

1

apt-get install zlib1g-dev

安裝 ssl依賴庫

1

apt-get install openssl

安裝Nginx(http://nginx.org

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

#下載最新版本:

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

#重啟nginx

  進入nginx安裝目錄sbin下執行./nginx -s reload

注意:-c 指定配置檔案的路徑,不加的話,nginx會自動載入預設路徑的配置檔案,可以通過 -h檢視幫助命令。

#檢視nginx程序:

ps -ef|grep nginx

配置應用

      同一個域名代理多個ip+port

      nginx.conf 具體配置如下:

server {
       listen 8087;
       server_name a.b.com.cn;    #域名

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

       ## send request back to Tornado ##
     location ^~ /data {   #固定的context(專案名)
        proxy_pass  http://192.16.41.1:8080/data;
        #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;
     }

     location ^~ /test {   #固定的context(專案名)
        proxy_pass  http://192.16.41.2:8080/test;
        #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;
     }