plurk 2010-3-3 11:07
在 Centos 上使用 EPEL 建置 nginx proxy server 設定
<p>環境: cnetos 5.2</p>
<p>用 yum 預設是找不到 nginx...不過可以先加入一個mirror</p>
<p>[quote]</p>
<p>#rpm -Uvh <a class="smarterwiki-linkify" href="http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm">http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm</a></p>
<p>[/quote]</p>
<p> </p>
<p>然後執行底下指令就可以了</p>
<p>[quote]</p>
<p>#<span style="FONT-WEIGHT: bold">yum install nginx.i386</span></p>
<p>[/quote]</p>
<p> </p>
<p>裝好之後設定檔在 /etc/nginx</p>
<p>編輯 /etc/nginx/nginx.conf </p>
<p>假設我們有個Domain: <font color="blue">www.abcd.com.tw</font> 要導到 <font color="blue">111.222.333.444</font> 的主機上</p>
<p> </p>
<p>那麼範例如下:</p>
<p>[quote]</p>
<p>user nginx;<br></p>
<p>error_log /var/log/nginx/error.log;<br>pid /var/run/nginx.pid;</p>
<p> </p>
<p>events {<br> worker_connections 1024;<br>}</p>
<p><br>http {<br> include /etc/nginx/mime.types;<br> default_type application/octet-stream;</p>
<p> </p>
<p> sendfile on;<br> tcp_nodelay on;</p>
<p> </p>
<p> keepalive_timeout 32;</p>
<p> </p>
<p> upstream <font color="red">abcd</font> {<br> server 111.222.333.444:80;<br> }</p>
<p> </p>
<p> gzip on;<br> gzip_proxied any;<br> gzip_http_version 1.1;<br> gzip_comp_level 2;<br> gzip_types text/plain text/html text/xml text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/atom+xml;</p>
<p> </p>
<p> include /etc/nginx/conf.d/*.conf;<br> include /etc/nginx/sites-available/*;</p>
<p>}</p>
<p>[/quote]</p>
<p> </p>
<p>接著再建立 /etc/nginx/sites-available/ </p>
<p>新增一個檔案...取作domain的名稱比較好辨<font color="black">別 abcd ...檔案配置參考:</font></p>
<p><font color="black">[quote]</font></p>
<p>server {<br> listen 80;<br> server_name abcd.com.tw www.abcd.com.tw;</p>
<p> </p>
<p> location / {<br> proxy_pass <font color="red">http://abcd</font>;<br> </p>
<p> }</p>
<p> </p>
<p> error_page 500 502 503 504 /50x.html;<br> location = /50x.html {<br> root /var/www/nginx-default;<br> }</p>
<p>}</p>
<p>[/quote]</p>
<p> </p>
<p>配置好之後...執行啟用...就可以啦~~~</p>
<p>[quote]</p>
<p>#service nginx start</p>
<p>[/quote]</p>
<p> </p>
<p>實作過程中...發現使用 nginx 做 proxy server 無法讀取 httpd 的虛擬主機...所以如果有做虛擬主機的話...目的地的主機最好也是架在 nginx 上...</p>
<p>要不然就要再想別的方法來解決了~~~</p>
<p> </p>
<p>參考網站: </p>
<p><a href="http://tinux.no-ip.com/wordpress/?p=102" target="_blank">http://tinux.no-ip.com/wordpress/?p=102</a></p>
<p><a href="http://ithelp.ithome.com.tw/question/10009820" target="_blank">http://ithelp.ithome.com.tw/question/10009820</a></p>