CentOs + Nginx + Node.js + Mongodb配置
jopen
10年前
添加非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