centos上nginx的一些使用(關於反向代理)
今天將靜態頁面部和api部署到伺服器,所以用到了nginx
第一步:準備工作
1.1、安裝gcc: yum install gcc-c++
1.2 、安裝PCRE pcre-devel: yum install -y pcre pcre-devel
1.3 、安裝zlib: yum install -y zlib zlib-devel
1.4、安裝OpenSSL: yum install -y openssl openssl-devel
第二步:安裝
我是從官網下載的nginx壓縮包,然後用rz上傳到指定目錄
2.1 cd /web/webserver
2.2 rz 上傳
2.3 mv nginx-version nginx
2.4 cd nginx
2.5 ./configure –prefix=/web/webserver/nginx將安裝目錄設定在當前目錄(預設目錄為/usr/local)
2.6 make install
第三步:使用
如果出現佔用 killall -9 nginx
進入/nginx/sbin 輸入 ./nginx -c /web/webserver/nginx/conf/nginx.conf指定啟動
檢測配置是否正常 ./nginx -t
重啟 ./nginx -s reload
第四步:配置
在nginx.conf的http模組裡面 輸入 include conf.d/*引入conf.d資料夾下的所有配置
配置如下
^~ 通配以static起始的uri,這裡用的是root
訪問xxxx.com/static/test/index.html 實際訪問地址是/web/project +/static +/test/index.html
如果將root換位alias 相對路徑
那麼實際訪問地址是 /web/project +/test/index.html
那個api是我開啟的一個node服務,因為我沒有設定node的二級域名
配置proxy_pass時,當在後面的url加上了/,相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分代理走;如果沒有/,則會把匹配的路徑部分也給代理走
所以當api不加/ 時
我訪問 xxxx.com/api/test 實際訪問的時127.0.0.1/10001/api/test
加了/ 則是 127.0.0.1/10001/test