在CentOS服务器上使用Apache来运行Node.js应用程序

在使用Apache运行应用程序的环境中,如果想要运行Node.js,可以将请求通过Apache代理到Node.js上。
由于遇到了一些Apache代理设置的问题,所以做了一些备忘录。

环境

# cat /etc/redhat-release 
CentOS release 6.6 (Final)

# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Oct 16 2014 14:48:21

$ node -v
v0.12.0

$ mongo --version
MongoDB shell version: 2.6.8

安装MongoDB

按照以下网站的步骤进行操作。

yum 的配置

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

执行 yum

sudo yum install -y mongodb-org

启动

sudo service mongod start
mongo
exit

安装node

安装nodebrew

安装nodebrew后,可以切换node的版本。由于版本变化较大,所以使用nodebrew安装是个好选择。

curl -L git.io/nodebrew | perl - setup
export PATH=$HOME/.nodebrew/current/bin:$PATH
source ~/.bashrc

安装node

nodebrew install stable
nodebrew use stable
node -v

Apache的配置

不需要安装和基本设置Apache。

conf.d

在/etc/httpd/conf.d中添加Node.js应用程序的专用配置。
注意末尾的’/’。
如果没有的话,相对路径如css和js将无法正常工作。

Alias /node /var/www/node

<Location /node/>
  ProxyPass http://localhost:3000/
  ProxyPassReverse http://localhost:3000/
  Order deny,allow
  Deny from all
  Allow from all
</Location>

服务启动

service httpd restart
cd YOUR_NODE_APP_PATH
node app.js &
广告
将在 10 秒后关闭
bannerAds