当前位置: 首页 > news >正文

汉川做网站百度总部地址

汉川做网站,百度总部地址,让互联网之光点亮生活,云平台网站开发文章目录 1.1 准备服务器的基本信息1.2 操作系统上创建其用户1.3 部署MongoDB服务端1.4 部署MongoDB客户端1.5 部署MongoDB 27017实例1.5.1 创建相关目录1.5.2 准备配置文件1.5.3 准备启停脚本1.5.4 进行启停测试1.5.5 加入开机自启动 1.6 创建超级管理员用户1.6.1 创建本地的超…

文章目录

    • 1.1 准备服务器的基本信息
    • 1.2 操作系统上创建其用户
    • 1.3 部署MongoDB服务端
    • 1.4 部署MongoDB客户端
    • 1.5 部署MongoDB 27017实例
      • 1.5.1 创建相关目录
      • 1.5.2 准备配置文件
      • 1.5.3 准备启停脚本
      • 1.5.4 进行启停测试
      • 1.5.5 加入开机自启动
    • 1.6 创建超级管理员用户
      • 1.6.1 创建本地的超级用户
      • 1.6.2 创建远端的超级用户
    • 1.7 创建web(业务)帐号
      • 1.7.1 创建某业务库
      • 1.7.2 创建web帐户

1.1 准备服务器的基本信息

在这里插入图片描述

1.2 操作系统上创建其用户

创建超级用户admin

#### 用途:相当于root用户,因为root用户我们会禁止远程登录
01:用来充当root用户的角色。
02:它不会用来运行任何的应用。#### 用户的基本要求
01:用户要能够远程登录,要有家目录。
02:用户不能过期、密码得复杂化,密码是否过期是另外一回事。
03:用户的主组为admin,用户的辅组为wheel。
04:用户得被visudo授权为:admin ALL=(ALL:ALL) NOPASSWD: ALL#### 创建用户的命令
chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow
groupadd -g 91 wheel
groupadd -g 1000 admin
useradd admin -u 1000 -g admin -G wheel -m -s /bin/bash
echo "admin:123456\!@#"|chpasswd
echo "admin ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
visudo -c

创建普通用户app

#### 用途:用来运行1024端口以上的应用
01:用来运行1024端口及以上的应用,即ps -ef | grep "服务名" 结果中的第一列的内容得是app。
02:所有服务的启停、开机自启动都用systemctl来管理。
03:这个app用户要能够使用systemctl来启停服务、开机自启动管理。#### 用户的基本要求
01:用户要能够远程登录,要有家目录。
02:用户不能过期、密码得复杂化,密码是否过期是另外一回事。#### 创建普通用户app的命令
sudo chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow
sudo groupadd -g 1001 app
sudo useradd app -u 1001 -g app -m -s /bin/bash
echo "app:Chenliang\!@#" | sudo chpasswd

1.3 部署MongoDB服务端

软件下载地址

https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.4.tgz

创建相关的目录

sudo mkdir -p /data/soft
sudo ls -ld /data/soft

安装mongodb服务端软件

#### 安装mongodb服务端软件
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.4.tgz
ls -l mongodb-linux-x86_64-ubuntu2004-6.0.4.tgz
sudo tar xf  mongodb-linux-x86_64-ubuntu2004-6.0.4.tgz  -C /data/soft/
sudo ln -svf /data/soft/mongodb-linux-x86_64-ubuntu2004-6.0.4 /data/soft/mongodb
sudo chown -R app:app /data/soft/
ls -l /data/soft/mongodb/bin# 里面只有mongod mongos install_compass 这三个命令# 没有mongo命令了#### 配置环境变量
ls -ld /data/soft/mongodb/binsudo bash -c "cat >>/etc/profile" <<'EOF'
export PATH=/data/soft/mongodb/bin:$PATH
EOFsource /etc/profile
which mongod mongos

1.4 部署MongoDB客户端

安装mongosh客户端工具,因为6.0版本默认没有mongo命令了,所以这里安装mongosh

#### 软件下载地址,这个得根据自己的操作系统版本,及系统上Openssl的版本
wget https://downloads.mongodb.com/compass/mongodb-mongosh-shared-openssl11_1.8.0_amd64.deb#### 安装
ls -l mongodb-mongosh-shared-openssl11_1.8.0_amd64.deb
sudo dpkg -i mongodb-mongosh-shared-openssl11_1.8.0_amd64.deb
which mongoshsudo ln -svf $(which mongosh)  /data/soft/mongodb/bin/mongosh
sudo ls -l  /data/soft/mongodb/bin/mongosh

1.5 部署MongoDB 27017实例

1.5.1 创建相关目录

sudo mkdir -p /data/apps/mongodb/27017/{data,conf,logs,run,keys,scripts}
sudo tree /data/apps/mongodb/27017

1.5.2 准备配置文件

sudo bash -c "cat >/data/apps/mongodb/27017/conf/mongod.conf" <<'EOF'
## network
net:port: 27017ipv6: falsebindIpAll: falsebindIp: 0.0.0.0maxIncomingConnections: 3000wireObjectCheck: trueunixDomainSocket:enabled: truepathPrefix: /data/apps/mongodb/27017/runfilePermissions: 0700## storage
storage:dbPath: /data/apps/mongodb/27017/datajournal:enabled: trueengine: wiredTigerwiredTiger:engineConfig:cacheSizeGB: 2## log
systemLog:destination: filelogAppend: falsepath:  /data/apps/mongodb/27017/logs/mongod.logquiet: false## process
processManagement:fork: truepidFilePath:  /data/apps/mongodb/27017/run/mongod.pidtimeZoneInfo: /usr/share/zoneinfo/Asia## security
security:authorization: enabledjavascriptEnabled: false
EOF

1.5.3 准备启停脚本

准备启停脚本

sudo bash -c 'cat >/data/apps/mongodb/27017/scripts/mongod.sh' <<'EOF'
#!/bin/bash
#
# Explain: MongoDB start、stop scripts 
#
# Define variables
RETVAL=0
MonPort="27017"
MonConf="/data/apps/mongodb/$MonPort/conf/mongod.conf"
MonCommPath="/data/soft/mongodb/bin"# Define functions
start(){
MonStatusCheck="$(ss -lntup|grep -w "$MonPort"|wc -l)"
if [ "$MonStatusCheck" -eq 0 ];then$MonCommPath/mongod -f $MonConf --fork >/dev/null 2>&1RETVAL=$?if [ $RETVAL -eq 0 ];thenecho "Start mongodb service[$MonPort] success"elseecho "Start mongodb service[$MonPort] fail"fielseecho "mongodb service[$MonPort] is running"
fi
return $RETVAL
}stop(){
MonStatusCheck="$(ss -lntup|grep -w "$MonPort"|wc -l)"
if [ "$MonStatusCheck" -ne 0 ];then$MonCommPath/mongod --shutdown -f $MonConf  >/dev/null 2>&1RETVAL=$?if [ $RETVAL -eq 0 ];thenecho "Start mongodb service[$MonPort] success"elseecho "Start mongodb service[$MonPort] fail"		fielseecho "mongodb service[$MonPort] is not running"
fi
return $RETVAL
}status(){
MonStatusCheck="$(ss -lntup|grep -w "$MonPort"|wc -l)"
if [ "$MonStatusCheck" -ne 0 ];thenecho "mongodb service[$MonPort] is running"elseecho "mongodb service[$MonPort] is not running"
fi
return $RETVAL
}# case call define functiosn
case "$1" in
start)
start
RETVAL=$?
;;
stop)
stop
RETVAL=$?
;;
restart)
stop
sleep 5
start
RETVAL=$?
;;
status)
status
RETVAL=$?
;;
*)
echo "USAGE:$0{start|stop|restart|status}"
exit 1
esac
EOF

给脚本加可执行权限

sudo chmod 700 /data/apps/mongodb/27017/scripts/mongod.sh
ls -l /data/apps/mongodb/27017/scripts/mongod.sh

更改属主/组为app

sudo chown -R app:app /data/apps/mongodb/

将脚本加入systemctl中

#### 编写/etc/systemd/system/mongod27017.service文件
sudo bash -c "cat >/etc/systemd/system/mongod27017.service" <<'EOF'
[Unit]
Description=mongod  instance
After=network.target[Service]
Type=forking
User=app
Group=app
ExecStart=/bin/bash /data/apps/mongodb/27017/scripts/mongod.sh start
ExecStop=/bin/bash /data/apps/mongodb/27017/scripts/mongod.sh stop
LimitNOFILE=65535
Restart=on-failure
RestartSec=10
RestartPreventExitStatus=1
PrivateTmp=false[Install]
WantedBy=multi-user.target
EOF#### 加载
sudo systemctl daemon-reload#### 授权
sudo chown -R app:app /etc/systemd/system/mongod27017.service

让普通用户app在可执行sudo systemctl stop mongod27017.service这样的命令,

#### 进行visudo授权
sudo bash -c "cat >/etc/sudoers.d/mongod27017_systemctl" <<'EOF'
## Cmnd Alias
Cmnd_Alias MONGOD27017_SYSTEMCTL =  /usr/bin/systemctl daemon-reload, \/usr/bin/systemctl start mongod27017.service, \/usr/bin/systemctl stop mongod27017.service, \/usr/bin/systemctl restart mongod27017.service, \/usr/bin/systemctl status mongod27017.service, \/usr/bin/systemctl enable mongod27017.service, \/usr/bin/systemctl disable mongod27017.service, \/usr/bin/systemctl is-enabled mongod27017.service ## auth
app ALL=(ALL:ALL) NOPASSWD:  MONGOD27017_SYSTEMCTL
EOF#### 更改visudo授权时文件的权限,并visudo -c
sudo chmod 0440 /etc/sudoers.d/mongod27017_systemctl
sudo visudo -c

1.5.4 进行启停测试

#### 先看一看
sudo -u app   sudo -l#### 启动mongodb27017实例
sudo -u app   sudo systemctl start mongod27017.service
sudo ps -aux | grep mongod
ss -lntup | grep 27017#### 停止mongodb27017实例
sudo -u app   sudo systemctl stop mongod27017.service
sudo ps -aux | grep mongod
ss -lntup | grep 27017#### 再次启动
sudo -u app   sudo systemctl start mongod27017.service
sudo ps -aux | grep mongod
ss -lntup | grep 27017

1.5.5 加入开机自启动

sudo systemctl enable mongod27017.service
sudo systemctl is-enabled mongod27017.service

1.6 创建超级管理员用户

1.6.1 创建本地的超级用户

我这里创建一个root用户,角色为root,因为角色为root,其库必须得为admin库。且我会开启root用户的身份验证(只允许client地址为127.0.0.1的登录,这样一来这个root用户就是个本地用户,只能在mongodb实例所在服务器上用mongosh 127.0.0.1:27017这样的方式去登录,然后到admin库下去认证。)

// 连接mongodb实例,进入到admin库,我mongodb实例才部署好,哪来的认证
// 连接的时候只能是127.0.0.1,因为我的配置文件中有开启安全认证
mongosh 127.0.0.1:27017
use admin; // 这里创建用户并且同时(这里是必须)授于角色为root,db只能是admin
db.createUser({user:"root",pwd:"root123456",roles: [ { role:"root",db:"admin" }]}
);// 进行认证
db.auth("root","root123456")// 开启其身份验证,其实在创建用户时就可以,但我们这里是才部署好,都没有
// 超级用户。
db.updateUser("root",{authenticationRestrictions:[{ clientSource: ["127.0.0.1"] }]}
);// 查看root用户
db.getUser("root");                      // 看不到身份验证的相关信息
db.system.users.find( {user:"root"} );   // 就可看到身份验证// 退出连接
exit;// 连接,这里使用mongosh 172.31.7.111:27017 来进行连接
// 认证时使用root用户,会报错,因为root用户开启了身份验证的

在这里插入图片描述

// 再用mongosh 127.0.0.1:27017去连接,然后认证时使用root用户
// 是可以成功的

在这里插入图片描述

1.6.2 创建远端的超级用户

这里创建一个远端的超级用户,这个超级用户的名称可以以你公司的名称来命名,所以它并不是一个人类用户。就不对该用户开启身份验证了,这个用户我们就可以结navicat这样的工具来连接mongodb实例了。

// 本地以root用户登录并认证
mongosh 127.0.0.1:27017
use admin;
db.auth("root","root123456");// 创建aliang用户,角色为root,认证库必须为admin(得在admin库下创建用
// 户),库也得为admin。
use admin;
db.createUser({user: "aliang",pwd: "aliang123456",roles: [{ role:"root",db:"admin" }]}
);// 查看用户
use admin;
db.system.users.find( {user:"aliang"} );
db.getUser("aliang");// 进行认证
db.auth("aliang","aliang123456");// 退出登录
exit;

1.7 创建web(业务)帐号

1.7.1 创建某业务库

 以本地管理员用户登录

mongosh 127.0.0.1
use admin;
db.auth("root","root123456");

 创建wyc业务库

// 进入并创建wyc库,并创建test集群
use wyc;       db.createCollection("test");    // 往test集合中插入两条数据
db.test.insertMany( [ {name:"chenliang01",age:"11"},{name:"chenliang02",age:"12"} ] 
);// 查看test集合中的前10条文档(记录)
db.test.find().limit(10);  

1.7.2 创建web帐户

 创建一个名为wyc的用户并进行授于相关角色

// 我是进入到admin库的哈
use admin;                      // 创建用户,设置密码,没有授于角色(后面会授予的)
db.createUser({user:"wyc",pwd:"wyc123456",roles: [] }
); // 查看wyc用户
db.getUser("wyc"); // 对wyc用户授于readWrite角色
db.grantRolesToUser("wyc",[ {role:"readWrite",db:"wyc"} ]
);  // 查看wyc用户
db.getUser("wyc");  

 对wyc这个web帐户进行认证

// 进入到admin库后,认证wyc用户
use admin;                    
db.auth("wyc","wyc123456"); // 查看有哪些库,只能看到wyc库,进入wyc库,查看test集群
show dbs; 
use wyc; 
show tables;
db.test.find().limit(10);// 退出连接
exit;
http://www.zhongyajixie.com/news/4909.html

相关文章:

  • html5 手机网站导航条网站seo优化公司
  • 电子购物网站建设目的最新seo黑帽技术工具软件
  • 微网站后台内容设置开发网站的公司
  • 西安专业网站建设公司营销网页
  • 在哪几个网站里做自媒体赚钱深圳网络推广最新招聘
  • 有哪些静态网站搭建网站步骤
  • 如何在电脑上做物流网站seo团队管理系统
  • 西安做网站培训seo关键词排名软件
  • 做百度推广一定要有网站吗做推广
  • 做软件的网站营销网站建设都是专业技术人员
  • 南京各区房价一览表海淀区seo引擎优化多少钱
  • 有什么网站可以做江苏疫情最新消息
  • 中国疫情图片最新优化关键词排名优化公司
  • 哪里有好的免费的网站建设网络培训机构排名前十
  • 大学网站建设与功能开发seo关键词排名优化费用
  • 烟台网站排名系统百度指数1000搜索量有多少
  • 江苏做网站找谁有没有免费的seo网站
  • 九龙坡区建设二校有网站吗企业网站设计思路
  • 网站怎么发布信息怎么做网站教程视频
  • node新闻网站开发的意义推广app的平台
  • 辽宁建设信息网站seo在线网站推广
  • 具有价值的广州做网站舆情管理
  • 外贸公司网站推广优秀的营销案例
  • 宁波做网站公司如何建立自己的网络销售
  • 网站空间上传软件网络推广员工资多少钱
  • python可以做的网站论文百度登录个人中心
  • 廊坊购物网站开发设计地推拉新接单平台
  • 做衣服招临工在什么网站找营销型网站seo
  • 做外贸哪个网站要办信用卡的针对百度关键词策划和seo的优化
  • 品牌包装建设网站网络营销策划方案3000字