1. 程式人生 > >centos7原始碼編譯安裝NGINX

centos7原始碼編譯安裝NGINX

1、 什麼是nginx

Nginx是一款高效能的http 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。官方測試nginx能夠支支撐5萬併發連結,並且cpu、記憶體等資源消耗卻非常低,執行非常穩定。

2、下載

進入http://nginx.org/en/download.html 下載nginx1.8.0版本(當前最新穩定版本)。

3、nginx安裝環境

[[email protected] ~]# yum –y install gcc-c++

[[email protected] ~]# yum install -y pcre pcre-devel

[

[email protected] ~]# yum install -y zlib zlib-devel

[[email protected] ~]# yum install -y openssl openssl-devel

4、編譯安裝

將nginx-1.8.0.tar.gz拷貝至linux伺服器。

解壓:

[[email protected] ~]# tar -zxvf nginx-1.8.0.tar.gz

[[email protected] ~]# cd nginx-1.8.0

[[email protected] ~]# mkdir -p /var/temp/nginx

[[email protected] ~]# ./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi

[[email protected] ~]#make -j 4

[[email protected] ~]#make install

5、啟動nginx

[[email protected] ~]# cd /usr/local/nginx/sbin/

[[email protected] ~]# ./nginx

6、查詢nginx程序

[[email protected] ~]# ps -aux |grep nginx

root 10478 0.0 0.0 24880 800 ? Ss 17:19 0:00 nginx: master process ./sbin/nginx

nobody 10479 0.0 0.0 27320 1816 ? S 17:19 0:00 nginx: worker process

root 12025 0.0 0.0 112704 976 pts/0 R+ 17:37 0:00 grep --color=auto nginx

7、停止nginx

[[email protected] ~]#/usr/local/nginx/sbin/nginx -s stop

8、重新載入配置

[[email protected] ~]#/usr/local/nginx/sbin/nginx -s reload

9、nginx反向代理

通常的代理伺服器,只用於代理內部網路對Internet的連線請求,客戶機必須指定代理伺服器,並將本來要直接傳送到Web伺服器上的http請求傳送到代理伺服器中由代理伺服器向Internet上的web伺服器發起請求,最終達到客戶機上網的目的。

而反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時代理伺服器對外就表現為一個反向代理伺服器。

如下圖:

10、 nginx反向代理配置 (反向代理rabbitmq)

#配置一個代理即rabbitmq伺服器

upstream rabbitmq_server {

            server 192.168.101.5:15672;

        }

#配置一個虛擬主機

    server {

        listen 80;

        server_name rabbitmq.xinglinglove.cn;

        location / {

                proxy_pass http://rabbitmq_server ;

        }

11、測試