为什么80%的码农都做不了架构师?>>>
1.Nginx
https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-18-04-quickstart
sudo systemctl restart nginx
2.mongodb
https://www.howtoforge.com/tutorial/install-mongodb-on-ubuntu/
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4
第1步 - 导入公钥
Ubuntu软件包管理器apt(高级软件包工具)需要软件分发服务器的GPG密钥,以确保软件包的一致性和真实性。执行此命令可将MongoDB密钥导入服务器。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4
第2步 - 创建源列表文件MongoDB
使用以下命令在/etc/apt/sources.list.d/中创建MongoDB列表文件:
sudo echo "deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
第3步 - 更新存储库
使用apt命令更新存储库:
sudo apt-get update
第4步 - 安装MongoDB
现在,您可以通过键入以下命令来安装MongoDB:
sudo apt-get install -y mongodb-org
MongoDB apt安装程序自动为Systemd创建了一个mongod.service文件,因此无需再手动创建它。
启动MongoDB并将其添加为要在引导时启动的服务:
sudo systemctl start mongod
sudo systemctl enable mongod
现在使用netstat命令检查MongoDB是否已在端口27017上启动。
sudo netstat -plntu
配置MongoDB用户名和密码
安装MongoDB软件包后,您可以为数据库服务器配置用户名和密码:
第1步 - 打开mongo shell
在为MongoDB设置用户名和密码之前,需要在服务器上打开MongoDB shell。您可以输入以下内容登录:
mongo
如果您收到错误全局初始化失败:BadValue无效或没有设置用户区域设置。请确保正确设置LANG和/或LC_ *环境变量,请尝试以下命令:
export LC_ALL=C
mongo
第2步 - 切换到数据库管理员
进入MongoDB shell后,切换到名为admin的数据库:
use admin
第3步 - 创建root用户
使用以下命令创建root用户:
db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})
说明:使用密码admin123创建用户admin,并以root身份拥有权限/角色,数据库为admin。
现在输入exit以退出MongoDB shell。
exit
而你又回到了Linux shell上。
第4步 - 启用MongoDB身份验证
使用编辑器编辑mongodb服务文件'/lib/systemd/system/mongod.service' 。
sudo nano /lib/systemd/system/mongod.service
在' ExecStart '第9行,添加新选项' --auth '。
ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf
保存服务文件并退出nano。
重新加载systemd服务:
sudo systemctl daemon-reload
第5步 - 重启MongoDB并尝试连接
现在重启MongoDB并与创建的用户建立连接。
sudo service mongod restart
并使用以下命令连接到MongoDB shell:
mongo -u admin -p admin123 --authenticationDatabase admin
你会看到这样的输出:
启用外部访问并配置UFW防火墙
UFW是Ubuntu中的默认防火墙。在本章中,我将展示如何配置UFW以允许外部访问MongoDB。
检查UFW状态
sudo ufw status
结果是:
Status: inactive
使用此命令启用UFW,如果通过SSH连接,则首先打开SSH端口:
sudo ufw allow ssh
sudo ufw enable
在继续下一步之前。
出于安全原因,您应仅允许从需要访问数据库的IP地址访问MongoDB端口 27017。默认情况下,localhost始终能够访问它,因此无需为IP 127.0.0.1打开MongoDB端口。
UFW防火墙语法
sudo ufw allow from to port
在UFW中打开MongoDB端口
要允许从外部IP 192.168.1.10访问MongoDB,请使用以下命令:
sudo ufw allow from 192.168.1.10 to any port 27017
将上述命令中的IP地址替换为要允许访问MongoDB的外部IP。
如果要为任何IP打开MongoDB端口,例如,如果您在本地网络中运行它并且该网络中的所有系统都能够访问MongoDB,请使用以下命令:
sudo ufw allow 27017
使用以下命令检查UFW防火墙的状态:
sudo ufw status
MongoDB默认监听localhost,为了使数据库可以从外部访问,我们必须重新配置它以监听服务器IP地址。
在nano编辑器中打开mongod.conf文件:
sudo nano /etc/mongod.conf
并在bind_ip行中添加服务器的IP地址,如下所示:
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,192,168.1.100
将192.168.1.100替换为服务器的IP,然后重新启动MongoDB以应用更改。
sudo service mongod restart
现在,您可以通过网络访问MongoDB数据库服务器。
虚拟机映像
本教程可作为Howtoforge订户的OVA / OVF格式的即用型虚拟机使用。VM格式与VMWare和Virtualbox以及可导入ova或ovf格式的其他工具兼容。您可以在顶部的右侧菜单中找到下载链接。单击文件名以开始下载。
VM的登录详细信息如下:
SSH登录
用户名:administrator
密码:howtoforge
管理员用户具有sudo权限。
请在首次启动后更改密码。
VM配置为静态IP 192.168.1.100。有关如何更改静态IP的说明,请参见此处。
结论
MongoDB是一个着名的NoSQL数据库,提供高性能,高可用性和自动扩展。它与RDBMS不同,例如MySQL,PostgreSQL和SQLite,因为它不使用SQL来设置和检索数据。MongoDB将数据存储在称为BSON的“文档”中(JSON的二进制表示以及附加信息)。MongoDB仅适用于64位长期支持Ubuntu版本。
3.安装nodejs 10
https://websiteforstudents.com/install-the-latest-node-js-and-nmp-packages-on-ubuntu-16-04-18-04-lts/
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
4.安装angular-cli
npm install -g @angular/cli
5.安装nodemon 开发阶段用的
npm install -g nodemon
6.安装forever,后台启动服务
sudo npm -g install forever
创建启动服务脚本 startserver.sh
#!/bin/sh
#service mongodb start
rm .forever/*.log
NODE_ENV=production forever start -l forever_lieefu.log -e err_lieefu.log ./dyweb/server/app.js
#停止所有运行的node App
#forever stopall
7.防止服务器端的SSH超时
如果您是服务器管理员,则可以将以下内容添加到/etc/ssh/sshd_config
服务器上的SSH守护程序配置中,以防止客户端超时 - 因此他们不必修改其本地SSH配置:
ClientAliveInterval 120
ClientAliveCountMax 720
这将使服务器每120秒向客户端发送一个“空数据包”,并且在客户端处于非活动状态720个间隔(120秒* 720 = 86400秒= 24小时)之前不会断开它们。
重启ssh服务 sudo service ssh restart