当前位置: > CentOS > CentOS服务器 > 环境配置 >

CentOs6.5 + Nginx 1.6.0 + Node.js0.9.0 + Mongodb配置

时间:2015-04-28 23:07来源:linux.it.net.cn 作者:IT
添加非root用户
under root permision
adduser wedate
passwd wedate—> input the new password
chmod u+w /etc/sudoers
vim /etc/sudoers
添加 wedate     All=(ALL)    
ALL 在root之后(首先搜索到root)
:wq
chmod u-w /etc/sudoers
--------------------------------------------------------------------------------
安装必要的包依赖
更新系统所需的包
yum update 下载nginx(目前稳定版)
/*
系统约定
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字
*/
wget http://nginx.org/download/nginx-1.6.0.tar.gz下载pcre (支持nginx伪静态)
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz下载openssl(nginx扩展)
wget http://www.openssl.org/source/openssl-1.0.1h.tar.gz下载zlib(nginx扩展)
wget http://zlib.net/zlib-1.2.8.tar.gz下载nodejs
wget http://nodejs.org/dist/v0.9.0/node-v0.9.0.tar.gz下载rabbitmq
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.1/rabbitmq-server-3.3.1-1.noarch.rpm
--------------------------------------------------------------------------------
安装编译工具及库文件(使用yum命令安装)
yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel
--------------------------------------------------------------------------------
安装Nginx
安装pcre
cd /usr/local/src
mkdir /usr/local/pcre
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure --prefix=/usr/local/pcre
make
make install安装openssl
cd /usr/local/src
mkdir /usr/local/openssl
tar zxvf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
./config --prefix=/usr/local/openssl
make
make install
vi /etc/profile
export PATH=$PATH:/usr/local/openssl/bin
:wq!
source /etc/profile安装zlib
cd /usr/local/src
mkdir /usr/local/zlib
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib   
make
make install安装Nginx
groupadd www                        //暂时不用
useradd -g www www -s /bin/false    //暂时不用
cd /usr/local/src
tar zxvf nginx-1.6.0.tar.gz
cd nginx-1.6.0
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35
注意:--with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35指向的是源码包解压的路径,而不是安装的路径,否则会报错安装nodejs
cd /usr/local/src
mkdir /usr/local/node
tar zxvf node-v0.9.0.tar.gz
cd node-v0.9.0
./configure --prefix=/usr/local/node
make
make install
vi /etc/profile
在export PATH USER 。。。一行的上面添加如下内容,并将NODE_HOME/bin设置到系统path中
#set for nodejs
export NODE_HOME=/usr/local/node   
export PATH=$NODE_HOME/bin:$PATH
:wq!   //保存退出后执行如下命令,使刚才的配置生效
source /etc/profile安装rabbitmq
cd /usr/local/src
wget -O /etc/yum.repos.d/epel-erlang.repo http://repos.fedorapeople.org/repos/peter/erlang/epel-erlang.repo
yum install erlang
rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
yum install rabbitmq-server-3.3.1-1.noarch.rpm安装mongodb
vi /etc/yum.repos.d/mongodb.repo
将以下代码粘入其中
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

sudo yum install mongodb-org
在‘/’添加data/db文件
sudo service mongod start取得所有服务器端代码
su wedate
cd ~
git clone https://github.com/mainliner/APNS-rabbitMQ-nodejs
git clone https://github.com/mainliner/EmailQueue
将所用的文件clone到wedate的文件夹下
安装守护进程
npm install forever -g调试nginx
配置nginx
vi /usr/local/nginx/conf/nginx.conf
在HTTP里加入如下代码
  proxy_cache_path  /var/cache/nginx levels=1:2 keys_zone=one:8m max_size=3000m inactive=600m;
  proxy_temp_path /var/tmp;

include       mime.types;
default_type  application/octet-stream;

gzip on;
gzip_comp_level 6;
gzip_vary on;
gzip_min_length  1000;
gzip_proxied any;
gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_buffers 16 8k;



server {
    listen 80;
    server_name xxxxxx.com;
    location /wedate {
      proxy_redirect off;
      proxy_set_header   X-Real-IP            $remote_addr;
      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header   Host                   $http_host;
      proxy_set_header   X-NginX-Proxy    true;
      proxy_set_header   Connection "";
      proxy_http_version 1.1;
      proxy_cache one;
      proxy_cache_key sfs$request_uri$scheme;
      proxy_pass        http://127.0.0.1:3000;
    }
}启动所有服务
cd /home/wedate/APNS-rabbitMQ-nodejs/
forever start APNS.js
cd /home/wedate/EmailQueue/
forever start email.js
cd /home/wedate/WeDateServer/
forever start cluster.js
service mongod start
chkconfig rabbitmq-server on (责任编辑:IT)
------分隔线----------------------------