CentOS 7.1下Node.js+Nginx+MongoDB的安装与配置

本次实践使用Linux服务器 CentOS / 7.1 x86_64 (64bit)
Node.js 5.8.0
nginx 1.8.1
vsftpd 3.0.2

安装CentOS7桌面

(非必要)

1.输入

yum install net-tools

2.安装desktop

rpm -ivh
http://mirrors.hustunique.com/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
yum groups install “MATE Desktop” yum groups install “X Window System”
systemctl set-default graphical.target

3.安装完成,重启

reboot

安装vsftpds

安装node.js

安装 node.js
1、在根目录下新建一个目录 /down,用来保存下载的文件

mkdir /down
cd /down

2、安装 node.js 相关软件
首先要安装 gcc gcc-g++ openssl-devel

yum install gcc gcc-g++ openssl-devel
yum install -y bzip2*
yum install libtool automake autoconf gcc-c++ openssl-devel
yum install wget

3、下载 Python 2.7

wget http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
解压安装 tar
zxvf Python-2.7.8.tgz
cd Python-2.7.8
./configure && make && make install

4、下载 node.js 解压 安装

cd /down
wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
./configure && make &&make install
npm install -g node-gyp
这里可能需要几分钟时间

安装配置Nginx

1.安装Nginx

rpm -ivh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.6.0-2.el7.ngx.x86_64.rpm
yum install -y nginx 安装nginx,根据提示,输入Y安装即可成功安装 service nginx start
启动 chkconfig nginx on 设为开机启动

2.配置Nginx

因为我们要为node服务器建立负载均衡,所以我们
cd /etc/nginx/conf.d
vi node.conf
upstream node{
server 127.0.0.1:18080;
server 127.0.0.1:18090;
}
server{
listen:80 default; #我们将localhost:80作为默认监听端口并
server_name:_; #将此服务作为默认服务对所有域名的访问
location / { #进行反向代理。代理的对象是多个服务器。
proxy_pass http://node;
}
}//简单配置,没有添加优化配置规则。

cd ..
nginx -c nginx.conf
nginx -s stop
service nginx start
service nginx status

3.进行测试,并查看看error.log

配置文件nginx.conf里有关于error日志路径的配置。

4.开启与关闭

关闭
nginx -s stop
开启
nginx -c nginx.conf

安装并配置MongoDB

1.获取MongoDB官网源代码

cd /down
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.5.tgz

2.解压

cd /etc
tar -zxvf /down/mongodb-Linux-x86_64-3.2.5.tgz
mv mongodb-linux-x86_64-3.2.5 mongodb
cd mongodb

3.新建一个目录log用来存放日志,新建一个目录db用来存放数据信息。

mkdir -p /cm/log
mkdir -p /cm/db

4.新建一个配置文件并写入配置信息

cd bin
vi mongodb.conf

dbpath = /cm/db #数据文件存放目录
logpath = /cm/log/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
nohttpinterface = true
auth=false#设置用户之前,先不要设置认证,否则启动后,设置用户需要各种权限,建议用户角色分配好后再改成ture。重启后这 样就可以正常使用权限

5.开启服务

开启
./mongod –config mongodb.conf
关闭
netstat -nptl
kill -2 (pid)

6.添加用户与用户权限验证

因为权限auth=false设置的是不检查,我们可以直接进入数据库操作
到bin目录下 ./mongo
创建一个管理用户的账户userAdminAnyDatabase
use admin
db.createUser(
{
user: “admin”,
pwd: “admin”,
roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ]
} )

show users或db.system.users.find()查看admin下的账户
查看到已创建的用户后,修改配置文件,将auth=true
重启mongodb
./mongo
use admin
db.auth(“admin”,”admin”)
返回1则表示验证成功
使用admin账户可以对其他db进行权限控制。
use db1
db.createUser(
{
user: “test”,
pwd: “test”,
roles: [
{ role: “readwrite”, db: “db1” } ,
{ role: “read”, db: “db2” }
]
} )
这样就创建了一个test账户,可以读取db2,可以读取并修改db1。
这时候
use admin
db.system.users.find()
可以查看所有用户。
之后所有的数据库操作都必须在use db后,先auth再操作。

下面关于Node.js的内容你可能也喜欢

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/215681.html<

(0)
运维的头像运维
上一篇2025-04-12 08:58
下一篇 2025-04-12 09:00

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注