湖南住房城乡建设部网站重庆建工集团
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:52
当前位置: 首页 > news >正文
湖南住房城乡建设部网站,重庆建工集团,河南安阳县,ftp与wordpress文章目录 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 chpasswd1.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/mongosh1.5 部署MongoDB 27017实例 1.5.1 创建相关目录 sudo mkdir -p /data/apps/mongodb/27017/{data,conf,logs,run,keys,scripts} sudo tree /data/apps/mongodb/270171.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
RETVAL0 MonPort27017 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 21RETVAL\(?if [ \)RETVAL -eq 0 ];thenecho Start mongodb service[\(MonPort] successelseecho Start mongodb service[\)MonPort] failfielseecho 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 21RETVAL\)?if [ \(RETVAL -eq 0 ];thenecho Start mongodb service[\)MonPort] successelseecho 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 runningelseecho 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] Descriptionmongod instance Afternetwork.target[Service] Typeforking Userapp Groupapp ExecStart/bin/bash /data/apps/mongodb/27017/scripts/mongod.sh start ExecStop/bin/bash /data/apps/mongodb/27017/scripts/mongod.sh stop LimitNOFILE65535 Restarton-failure RestartSec10 RestartPreventExitStatus1 PrivateTmpfalse[Install] WantedBymulti-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;
- 上一篇: 湖南众诚建设网站网站建设近五年参考文献
- 下一篇: 湖南住房和城乡建设网门户网站学校网站建设维护
相关文章
-
湖南众诚建设网站网站建设近五年参考文献
湖南众诚建设网站网站建设近五年参考文献
- 技术栈
- 2026年03月21日
-
湖南智能网站建设费用WordPress的MySQL搭建
湖南智能网站建设费用WordPress的MySQL搭建
- 技术栈
- 2026年03月21日
-
湖南岳阳网站手机网站布局技术
湖南岳阳网站手机网站布局技术
- 技术栈
- 2026年03月21日
-
湖南住房和城乡建设网门户网站学校网站建设维护
湖南住房和城乡建设网门户网站学校网站建设维护
- 技术栈
- 2026年03月21日
-
湖南住房和建设厅网站app网站开发工具下载
湖南住房和建设厅网站app网站开发工具下载
- 技术栈
- 2026年03月21日
-
湖南专业做网站公司WordPress减少数据库占有
湖南专业做网站公司WordPress减少数据库占有
- 技术栈
- 2026年03月21日
