不喜歡 apache 嗎?apache 沒辦法用 mod_proxy_balancer 嗎?沒關係,我找到另外一個不錯的方式了,是 pound + lighttpd. 如果不想用 apache 的話,上一篇的 httpd 相關的東西都不要灌,改灌:
sudo yum install Pound
sudo yum install lighttpd
我是覺得這邊分大小寫很沒意義,不過 yum 就是這樣﹍。
pound 是什麼?
The Pound program is a reverse proxy, load balancer and HTTPS front-end for
Web server(s). Pound was developed to enable distributing the load among
several Web-servers and to allow for a convenient SSL wrapper for those
Web servers that do not offer it natively.
lighttpd 我想大家都知道,一個非常快速的 http server, 只不過他的 mod_proxy 似乎有很多問題,以致於沒辦法用他。所以這部份用 pound 當前端解決這個問題,流程變成:
http request => pound => lighttpd or mongrel cluster
安裝好後,先來設定 pound, 不過 https 就先暫時略過不管。
sudo nano /etc/pound.cfg
=========================
User "pound"
Group "pound"
ListenHTTP
Address 0.0.0.0
Port 80
End
Service
URL "/(images|stylesheets|javascripts)/"
BackEnd
Address 127.0.0.1
Port 1999
End
Session
Type BASIC
TTL 300
End
End
Service
BackEnd
Address 127.0.0.1
Port 2000
End
BackEnd
Address 127.0.0.1
Port 2001
End
BackEnd
Address 127.0.0.1
Port 2002
End
Session
Type BASIC
TTL 300
End
End
=========================
前面的設定是把 host/images, host/stylesheets, host/javascripts 這三個 url 下的 request 都丟給 port 1999 處理,也就是等會 lighttpd 要使用的 port. 這邊使用 regex, 可以自由設定自己要的規則。假使未來 user 要使用 file_column, 可以再加個 user/avatar 之類的。
下面的則是全部丟給 mongrel_cluster 處理。設定上應該比 apache 簡單地多。可以先測試看看,先把 lighttpd 的部份 comment 起來,啟動 pound 試試:
sudo pound
照理說這樣就能使用了。不行的話加個 config 檔路徑給他:
sudo pound -f /etc/pound.cfg
這邊我是在想要不要把 config 也放到 beast 裡面,不過 pound 應該只會有一個,所以我想還是放到 /etc 下好了。停止 pound 的方式:
sudo kill `sudo cat /var/run/pound.pid`
製作 lighttpd 設定檔:
nano config/lighttpd.conf
==========================
server.modules = (
"mod_access",
"mod_accesslog"
)
server.port = 1999
server.bind = "127.0.0.1"
server.document-root = "/home/YOUR_NAME/projects/beast/stable-1.0/public"
server.username = "YOUR_NAME"
server.groupname = "YOUR_NAME"
server.pid-file = "/home/YOUR_NAME/projects/beast/stable-1.0/tmp/pids/lighttpd.pid"
server.errorlog = "/home/YOUR_NAME/projects/beast/stable-1.0/log/lighttpd_error.log"
index-file.names = ( "index.html", "default.html" )
accesslog.filename = "/home/YOUR_NAME/projects/beast/stable-1.0/log/lighttpd_access.log"
# mimetype mapping
mimetype.assign = (
".rpm" => "application/x-rpm",
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "application/ogg",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".cpp" => "text/plain",
".log" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar"
)
==========================
我很想省略 mime-type 設定,不過不設的話 firefox 好像會有問題。safari 和 opera 是 ok 的,IE 我沒得測就沒測了。反正要設就是了,有沒有問題不影響。只是希望 lighttpd 能內建這些設定﹍。
啟動 lighttpd
sudo lighttpd -f config/lighttpd.conf
這樣就算大功告成了!剛剛有測試 pound 的話記得改回原本設定並重新啟動。比較詳細的介紹與說明可以參考這篇:
Configuring pound with lighttpd and mongrel.*
summary:
用到的 server:
(1)
apache2.2 =>
reverse proxy + load balancer + serve static files
(2)
pound => reverse proxy + load balancer
lighttpd => serve static files
(3)
mongrel_cluster => setup mongrel cluster
mongrel => serve beast
結果就是 ((1) or (2)) + (3)
操作 apache:
啟動:sudo apachectl start
停止:sudo apachectl stop
重啟:sudo apachectl restart
操作 pound:
啟動:sudo pound -f /etc/pound.cfg
或:sudo /etc/init.d/pound start
停止:sudo kill `sudo cat /var/run/pound.pid`
或:sudo /etc/init.d/pound stop
重啟:sudo /etc/init.d/pound restart
操作 lighttpd:
啟動:sudo lighttpd -f config/lighttpd.conf
或:sudo /etc/init.d/lighttpd start
停止:sudo kill `cat tmp/pids/lighttpd.pid`
或:sudo /etc/init.d/lighttpd stop
重啟:sudo /etc/init.d/lighttpd restart
操作 mongrel_cluster:
啟動:sudo mongrel_rails cluster::start
停止:sudo mongrel_rails cluster::stop
重啟:sudo mongrel_rails cluster::restart
操作 postgresql:
啟動:sudo pg_ctl start
停止:sudo pg_ctl stop
重啟:sudo pg_ctl restart
分享到:
相关推荐
### Fedora Core 6 Linux安装配置详细介绍 #### 一、安装准备与系统选择 在开始介绍Fedora Core 6 (简称FC6) 的安装配置过程之前,我们先了解一下安装准备及系统选择方面的一些注意事项。 1. **下载镜像:**用户...
【FedoraCore Linux6安装图解】 Fedora Core是Red Hat公司推出的开源操作系统Fedora Project的一个分支,旨在提供一个更新、更快速的Linux发行版。Linux6指的是该系统的第六个主要版本,它在2005年发布,包含了当时...
红帽子Linux Fedora Core 6安装全程图解.rar 红帽子Linux Fedora Core 6安装全程图解.rar 红帽子Linux Fedora Core 6安装全程图解.rar
Fedora Core 6 安装 部署说明文档
标题所提及的"硬盘安装Fedora Core 6的完整过程"是一个针对初学者的详细指南,描述中提到的作者通过个人经验记录了安装步骤,以帮助那些刚接触Linux的人。这个过程主要分为四个部分:准备工作、工具安装与文件存放、...
根据给定的文件信息,我们可以总结出一系列关于RedHat FedoraCore Linux6安装的关键知识点: ### 知识点一:FedoraCore Linux6简介 FedoraCore Linux6是Red Hat公司推出的一款基于GNU/Linux的开源操作系统,它继承...
在本文中,我们将详细介绍如何在硬盘上安装Fedora Core9,包括必要的准备工作、安装配置以及安装过程中的注意事项。 首先,安装前的准备工作至关重要。你需要下载Fedora Core9的ISO镜像文件,例如Fedora-9-i386-DVD...
在VMware上安装Fedora Core 9是一个详细的过程,涉及到多个步骤和技术细节。以下是安装过程中需要了解的关键知识点: 1. **Fedora Core 9**:Fedora Core 9是Fedora项目发布的一个Linux发行版,它基于Red Hat ...
本教程将详细阐述如何在虚拟机软件VMware上安装Fedora Core 9,包括所需软件、安装步骤、分区策略和配置网络等关键环节。 首先,你需要准备以下两样软件: 1. Fedora Core 9 安装镜像:你可以从Fedora的官方网站...
在Fedora core linux中安装VMware Workstaton虚拟机.pdf
总的来说,这个压缩包提供了一套完整的解决方案,让用户能够在Fedora Core 9系统上快速搭建并运行TFTP服务,这对于网络管理员和系统集成人员尤其有用,他们可能需要通过TFTP进行远程设备维护、固件更新或者启动网络...
4. 如果遇到花屏或其他性能问题,或者有特定需求,可以尝试使用其他虚拟机软件(如VMware或Oracle VirtualBox)或者在实体机上安装Fedora Core 9。 总结,通过上述步骤,你可以在Virtual PC 2007中成功安装Fedora ...
【Fedora Core 5.0 安装教程】 Fedora Core 5.0 是一款基于 Red Hat Linux 的开源操作系统,适合初学者和开发者使用。本文将详细介绍如何进行 Fedora Core 5.0 的安装,帮助初次接触 Linux 的用户顺利完成安装过程...
通过《月子—零基础学习FedoraCore6》,初学者不仅可以了解到 Linux 的基础知识和发展历程,还能学会如何安装 FedoraCore6 操作系统。这本书详细地介绍了每一个步骤,并配有丰富的图片说明,非常适合完全没有接触过 ...
2. 电脑重新启动后,将会进入 Fedora Core 5.0 的启动界面,选择“Install or upgrade an existing system”进行新安装。 语言选择: 安装程序启动后,首先会提示选择语言。选择适合你的语言,例如简体中文,以便...
1. **安装介质选择**:Fedora Core 6可以通过CD或DVD安装,也可以通过网络进行在线安装。用户可以根据自己的网络条件和硬件资源选择合适的方式。 2. **分区管理**:在安装过程中,需要对硬盘进行分区,通常包括系统...
一、硬盘安装 二、几点感受 三、ADSL上网设置 四、关闭不需要的服务进程 五、让终端的字体更清晰些 六、挂载Win分区 七、寻找可执行文件 八、让“添加/删除软件”不再是摆设 九、让KDE显示中文菜单 十、...
### Fedora Core 8 安装指南 #### 1. Fedora Core 8 的下载与安装 - **下载路径**:首先需要从官方指定路径下载Fedora Core 8的安装镜像。该路径为 `ftp://download.fedora.redhat....