黄网站红烧豆腐怎么做/提高百度快速排名
文章目录
- 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;
相关文章:

Ubuntu20.04平台下使用二进制包部署MongoDB-6.0.4单实例
文章目录 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 创建本地的超…...

Snipaste工具推荐
Snipaste Snipaste 不只是截图,善用贴图功能将帮助你提升工作效率! 新用户? 截图默认为 F1,贴图为 F3,然后请对照着 快捷键列表 按一遍,体会它们的用法,就入门啦! 遇到了麻烦&…...

MinIO快速入门——在Linux系统上安装和启动
1、简介 MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript, Golang语言。MinIO系统,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。 2、环境搭建&#…...

07.JavaWeb-Vue+elementUI
1.Vue 功能替代JavaScript和jQuery,基于JavaScript实现的前端框架 1.1配置Vue 1.1.1引入vue库 方法一:通过cdn链接引入最新版本的vue(可能会慢些) <head><script src"https://cdn.jsdelivr.net/npm/vue">…...

经典面试题---【第一档】
1.如果你想new一个Quene,你有几种方式?他们之间的区别是什么? 2.Redis 是如何判断数据是否过期的呢? Redis 通过一个叫做过期字典(可以看作是 hash 表)来保存数据过期的时间。过期字典的键指向 Redis 数据…...

欧美同学会第三届“双创”大赛——空天装备产业赛区(浙江诸暨)正式启动,开启报名通道
6月8日,欧美同学会第三届“双创”大赛——空天装备产业赛区(浙江诸暨)启动仪式暨北京推介会圆满举行。活动由欧美同学会(中国留学人员联谊会)主办,中共浙江省委统战部支持,浙江省欧美同学会、中…...

python3 爬虫相关学习8:python 的常见报错内容 汇总收集
目录 1 拼写错误 AttributeError: NameError: 等等 2 类型错误 TypeError: 如字符串连接错误 TypeError: can only concatenate str (not “int“) to str 3 意外缩进 IndentationError: unexpected indent 4 找不到对应模块 ModuleNotFoundError: 5 语法错误 Syntax…...

活跃主机发现技术指南
活跃主机发现技术指南 1.活跃主机发现技术简介2.基于ARP协议的活跃主机发现技术3.基于ICMP协议的活跃主机发现技术4.基于TCP协议的活跃主机发现技术5.基于UDP协议的活跃主机发现技术6.基于SCTP协议的活跃主机发现技术7.主机发现技术的分析 1.活跃主机发现技术简介 在生活中有这…...

手机抓包fiddler配置及使用教程
本文基于Fiddler4讲解基本使用 fiddler抓包原理 注意:Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的 程序。不过如果Fiddler非正常退出&…...

STM32单片机(四)第一节:OLED调试工具
❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…...

自用的一些网址,码住!
京东羚珑智能抠图网站https://ling.jd.com/live/fm#all:主要用于商品抠图,而且还有多种直播背景设计,非常方便。国外的免费抠图网站https://www.remove.bg/zh/upload:有一个魔法棒的设计,可以自己选择抠图的范围和形状…...

银行vr元宇宙全景虚拟展馆提供更加真实、立体、高效的数字资产交易场景
为了贯彻国家普惠金融政策,使金融如无惠及广大群体,宇宙技术在金融行业中的应用将进一步提升金融消费体验感觉和金融管理水平。打造元宇宙金融服务平台,构建虚实结构的金融服务世界,培育和管理好数字机器人员工队伍,提升金融业务各…...

C++ 泛型编程 类型萃取器的运用
C 泛型编程 类型萃取器的运用 一、C类型萃取器的基本概念与应用(Type Traits in C)1.1 类型萃取器的定义与作用(Definition and Role of Type Traits)1.2 类型萃取器的分类与特性(Classification and Characteristics …...

C++ String类(上篇)
绪论 放弃时间的人,时间也会放弃他。——莎士比亚 ; 本篇章是关于string类内一些函数的介绍以及使用方法,都是我们编程必须掌握的基础! 全文共7000字左右. 话不多说安全带系好,发车啦(建议电脑观看&…...

nested exception is java.lang.NoClassDefFoundError
出现这种问题,一般都是jar有问题,排查是哪个jar包,重新导入maven仓库一下就行了,有的时候需要把原来仓库里的包删掉,重新打包,有的时候要切换分支,到其他分支打包。 打包时候没有打进去…...

科普:python怎么使用Pyinstaller模块打包成可执行文件
目录 1. 使用conda创建虚拟环境2. 列出所有虚拟环境查看是否创建成功3. 激活虚拟环境4. 安装Pyinstaller模块5. Pyinstaller模块常用参数6. 例子:Windows打包成单个文件并可使用命令行窗口并自定义文件logo 1. 使用conda创建虚拟环境 创建个虚拟环境来打包…...

企业级应用高性能可扩展架构设计
前言 马上又要618了,每年到了这个时候,商家就开始促销,价格低会吸引来超多用户,对系统来说就是更多的流量,技术上如何确保网站稳定运行,且不被超卖,同时还要让用户有个良好的购物体验。 12306…...

【安全架构】
概念 安全是产品的属性,安全的目标是保障产品里信息资产的保密性(Confidentiality)、完整性(Integrity)和可用性(Availability),简记为CIA。 保密性: 保障信息资产不被未…...

RabbitMq-高级
参考:https://blog.csdn.net/dingd1234/article/details/125032383 1 TTL TTL QUEUE 声明args TTL MESSAGE postmessage中设置 区别:过期消息会直接删除消息,过期队列若配置死信队列会移到死信队列 ps:同时配置两个已小的为准 2…...

iOS App的打包和上架流程
转载:iOS App的打包和上架流程 - 掘金 1. 创建账号 苹果开发者账号几种开发者账号类型 个人开发者账号 费用:99 美元/年(688.00元)协作人数:仅限开发者自己不需要填写公司的邓百氏编码( D-U-N-S Number…...

Net6中遇到的一个很奇葩的问题
先来看一段代码,是控制台应用程序 internal class Program{static void Main(string[] args){Test().Wait();}private static async Task Test(){await Task.Run(() >{Debug.WriteLine("线程内输出");});Debug.WriteLine("线程外输出");}}执…...

2940. 花坛的最小改变次数
Powered by:NEFU AB-IN Link 文章目录 2940. 花坛的最小改变次数题意思路代码 2940. 花坛的最小改变次数 题意 略 思路 首先需要区间查询gcd,想到st表 其次思路,固定左端点,二分右端点,找gcd与区间长度相等的右端点,个…...

安装源代码 QT 4.8.7
在centos7.9.2009 (Core)操作系统上,安装qt 4.8.7 查看centos版本:cat /etc/centos-release 安装g:sudo yum install gcc gcc-c g版本查看(gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)):g -v 先安装…...

PINN学习与实验之拟合sin(x)
首先给出数学上的知识。 1. 2. 3. 其次给出PINN最基础的理解与应用说明。 1.PINN中的MLP多层感知机的作用? 答:目的是用来拟合出我们需要的那个 常微分方程,即函数逼近器。 2.PINN中物理信息的作用? 答:用于约束MLP反向…...

Java中进制转换的两种方法你知道吗?
目录 十进制转其他进制 其他进制转十进制 实战: A进制转B进制 关于大数运算可以参考躲不掉的高精度计算,蓝桥杯必考_高精度算法在哪些比赛考_无忧#的博客-CSDN博客 十进制转其他进制 使用 Integer.toString(int n,int radix) 方法,该方法…...

Qemu搭建ARM Vexpress开发环境
Qemu搭建ARM Vexpress开发环境 文章目录 Qemu搭建ARM Vexpress开发环境Qemu简介QEMU安装前的准备工作QEMU 安装的两种方式通过网络在线安装源码编译安装源码获取QEMU依赖库安装编译安装 命令选项qemu的标准选项qemu显示选项网络属性相关选项kvm的网络模型 Ubuntu 双网卡&#x…...

JMM如何实现volatile写/读的内存语义
内存屏障类型表 StoreLoad Barriers是一个“全能型”的屏障,它同时具有其他3个屏障的效果。现代的多处理器大多支持该屏障(其他类型的屏障不一定被所有处理器支持)。执行该屏障开销会很昂贵,因为当前处理器通常要把写缓冲区中的数…...

Smali的使用技巧:快速定位Android应用程序中的关键代码
简述 Smali是一种Android应用程序的Dalvik虚拟机指令集汇编语言,用于编写和修改应用程序的DEX文件。通过编写和修改Smali代码,可以实现对Android应用程序的定制化和逆向分析。Smali语言类似于汇编语言,直接操作Dalvik虚拟机指令集。 Smali代…...

04_两种常见的网页反爬措施及应对方法
一、封禁IP地址反爬 1、应对思路: 理解这种反爬方法的含义:当我们用自己电脑的ip地址短时间,高频率访问某个具有此类反爬设置的网站,这种网站就会把我们的ip地址封禁,一般都是封24小时或者其他时间。解决方案:通过代理ip访问,这种方式只不过就是让你有了重新访问网页的…...

安装docker环境,并制作docker镜像
docker环境安装 进入linux虚机后,安装docker环境,制作docker镜像并运行,进入运行中的容器,查看挂载的日志或报告 1.安装docker sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 2.使用docker仓库安装…...