1. 程式人生 > >linux系統上nginx安裝及簡單的反向代理配置

linux系統上nginx安裝及簡單的反向代理配置

本文是寫給那些剛剛接觸linux的新手寫的,#符號後面的都是命令可以複製進去,你有發展linux的打算也可以手打加深對命令的瞭解。

第一步:# yum -y installgcc-c++(C編譯器下面的安裝包需要)

Linux系統下Nginx的原始碼編譯安裝模組依賴性,需要依賴下面3個安裝包(下面的演示版本不是最新版本,你也可以下載最新的版本,只要把版本號修改一下即可):

1:ssl 功能需要 openssl 庫 ( 下載: http://www.openssl.org/source)

# wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz

2:gzip 模組需要 zlib 庫 ( 下載: http://www.zlib.net/)

# wget http://zlib.net/zlib-1.2.11.tar.gz

3:rewrite 模組需要 pcre 庫 ( 下載: http://www.pcre.org/ )

# wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

這個 是本文的核心,不下載能行?

Nginx包(下載: http://nginx.org/en/download.html)

# wget http://nginx.org/download/nginx-1.8.0.tar.gz

第二步:下載完後按順序依次安裝openssl-fips-2.0.10.tar.gz,zlib-1.2.11.tar.gz, pcre-8.37.tar.gz,nginx-1.8.0.tar.gz

#su -(可以返回localhost)

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

[root@localhost]# tar -zxvf openssl-fips-2.0.10.tar.gz

[root@localhost]# cd openssl-fips-2.0.10

2.安裝zlib-1.2.11.tar.gz(返回localhost)

[root@localhost

]# tar -zxvf zlib-1.2.11.tar.gz

[root@localhost]# cd zlib-1.2.11

[root@localhost zlib-1.2.11]#./configure

[root@localhost zlib-1.2.11]#make

[root@localhost zlib-1.2.11]#make install

3.安裝pcre-8.37.tar.gz(返回localhost)

[root@localhost]# tar -zxvf pcre-8.37.tar.gz

[root@localhost]# cd pcre-8.37

[root@localhost pcre-8.37]#./configure

[root@localhost pcre-8.37]#make

[root@localhost pcre-8.37]# makeinstall

4、安裝nginx-1.8.0.tar.gz(返回localhost)

[root@localhost]# tar -zxvf nginx-1.8.0.tar.gz

[root@localhost]# cd nginx-1.8.0

[root@localhost nginx-1.8.0]#./configure  --with-openssl=../openssl-fips-2.0.10 --with-zlib=../zlib-1.2.11 --with-pcre=../pcre-8.37

(註釋:../pcre-8.37=/usr/local/pcre-8.37指的是pcre-8.37的原始碼路徑。)

[root@localhost nginx-1.8.0]#make

[root@localhost nginx-1.8.0]#make install

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

檢查配置檔案     #  /usr/local/nginx/sbin/nginx-t

啟動nginx         #  /usr/local/nginx/sbin/nginx

 埠檢視            #  ps -ef|grep nginx

NGINX啟動時提示錯誤: 

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx: error while loading shared libraries:libpcre.so.1: cannot open shared object file: No such file ordirectory

輸入下列命令,會出現以下提示:

# ldd $(which /usr/local/nginx/sbin/nginx)

linux-vdso.so.1 => (0x00007fff48ff0000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0×0000003065800000)
libpcre.so.1 => not found
libssl.so.6 => /lib64/libssl.so.6 (0×0000003067000000)
libcrypto.so.6 => /lib64/libcrypto.so.6(0×0000003066400000)
libdl.so.2 => /lib64/libdl.so.2 (0×0000003063000000)
libz.so.1 => /lib64/libz.so.1 (0x0000003063c00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003062c00000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2(0x0000003066c00000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3(0x0000003069c00000)
libcom_err.so.2 => /lib64/libcom_err.so.2(0×0000003068800000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3(0×0000003069000000)
/lib64/ld-linux-x86-64.so.2 (0×0000003062800000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0(0x000000306a800000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1(0x0000003067c00000)
libresolv.so.2 => /lib64/libresolv.so.2(0×0000003068400000)
libselinux.so.1 => /lib64/libselinux.so.1(0×0000003064400000)
libsepol.so.1 => /lib64/libsepol.so.1(0×0000003064000000)

解決方法:64位系統

# ln -s /usr/local/lib/libpcre.so.1/lib64

32位系統則:

 # ln -s/usr/local/lib/libpcre.so.1 /lib

第四步:關閉防火牆
關閉:#chkconfig iptables off 或者#/sbin/chkconfig--level 2345 iptables off

重啟系統後生效 

  重啟:# reboot(重啟後需要啟動nginx,命令在上面)

第五步:檢測是否成功執行

開啟瀏覽器訪問此機器的 IP,如果瀏覽器出現 Welcometonginx! 則表示 Nginx 已經安裝並執行成功。

第六步:修改nginx.conf配置檔案(簡單的反向代理配置)

# vi  /usr/local/nginx/conf/nginx.conf

在文字編輯中按 I鍵可以進入編輯模式,Esc鍵可以退出編輯模式(只是退出編輯模式不是退出vi模式。 :wq   可以在退出編輯模式輸入這個命令儲存退出vi模式。

nginx.conf檔案中找出下列這段程式碼

   server {

       listen      80;

       server_name  localhost;

       #charset koi8-r;

       #access_log logs/host.access.log  main;

       location / {

           root   html;

           index  index.html index.htm;

       }

更改成下列文字。  注:www.xxx.com是代表你的域名

   server {

       listen      80;

       server_name www.xxx.com;

       #charset koi8-r;

       #access_log logs/host.access.log  main;

      location / {

           root   html;

           index  index.html index.htm;

                       proxy_pass http://www.xxx.com;

       }


如果出現亂碼文字中    #charset koi8-r 改成  charset utf-8 (把#符號去掉,文字中#代表著註釋)

第七步:

http選項下

gzip on;

gzip_min_length 1k;

gzip_buffers 16 64k;

gzip_http_version 1.1;

gzip_comp_level 6;

gzip_types application/javascript text/javascript text/plain application/x-javascript text/css application/xml;

gzip_vary on;

注意:gzip_types必須加上application/javascript 否則js不會被壓縮

第八步:重啟服務

# /usr/local/nginx/sbin/nginx -s reload 或     #  /etc/init.d/nginx reload

重啟之後看看是否設定成功