在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 &