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
[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
重啟之後看看是否設定成功