当前位置: 首页 > 后端技术 > Node.js

阿里云轻量级应用服务器部署节点项目笔记

时间:2023-04-03 11:54:12 Node.js

本地和服务器环境本地:Windows1064位服务器:阿里云轻量级应用服务器CentOS7.3使用的连接工具:puttymobaxterm当然还有Xshell这些随便选一个就可以了。连接工具使用方法:创建会话>ssh填写服务器IP地址和用户名(root),点击确定,输入密码。(这是使用mobaxterm的方法,其他都是同一个套路)Node环境搭建使用wget命令下载Node包wgethttps://nodejs.org/dist/v8.10.0/node-v8。10.0-linux-x64。tar.xz解压文件tarxvfnode-v8.10.0-linux-x64.tar.xz创建软连接,主要是命令全局生效ln-s/root/node-v8.10.0-linux-x64/bin/node/usr/local/bin/nodeln-s/root/node-v8.10.0-linux-x64/bin/npm/usr/local/bin/npm查看是否成功node-vnpm-v备注:当然也可以使用其他方式搭建节点运行环境,比如使用NVM下载,具体我就不一一列举了。执行测试项目,新建项目文件example.js。cd~touchexample.js用vim编辑器打开工程文件example.js。yuminstallvimvimexample.js输入“i”进入编辑模式,将以下项目文件内容粘贴到文件中。使用“Esc”键退出编辑模式,输入“:wq”,回车,保存文件内容退出(这里的0.0.0.0相当于windows中的127.0.0.1)consthttp=require('http');consthostname='0.0.0.0';constport=80;constserver=http.createServer((req,res)=>{res.statusCode=200;res.setHeader('Content-Type','text/plain');res.end('HelloWorld!\n');});server.listen(port,hostname,()=>{console.log(`服务器运行于http://${hostname}:${port}/`);});运行项目node~/example.js//也可以使用如下代码后台运行node~/example.js&//后台运行netstat-tpln//查看端口运行状态在浏览器中打开http://IP:80如果看到HelloWorld,恭喜部署成功。这里有几点需要注意。如果在后台运行,这个端口会被占用。如何关闭netstat-tpln//查看端口pidkill-9pid备注:此时防火墙已关闭。(未运行)当我尝试打开防火墙,将端口添加到例外,并在端口(3000)上运行时,使用公网IP无法访问。不知道有没有人能解释一下原因?可以看到端口被添加到例外:防火墙常用防火墙命令1.查看防火墙是否运行firewall-cmd--state2.查看哪些端口被添加到例外firewall-cmd--permanent--list-portpermanentpermanent配置3.添加端口到exceptionfirewall-cmd--permanent--zone=public--add-port=3000/tcp4。查看永久例外的端口列表[root@localhost~]#firewall-cmd--permanent--list-port//80/tcp3000/tcp5.删除端口异常firewall-cmd--permanent--remove-port=80/tcp6。查看端口列表[root@localhost~]#firewall-cmd--permanent--list-port//3000/tcp7.停止firewalldfirewallsystemctl停止firewalld8。启动firewalldfirewallsystemctlstartfirewalld继续运行前面的操作全部完成后,如何让这个节点进程保持存活呢?全局安装cnpm可以大大提高下载速度启动的应用程序pm2showexample.js//查看详细信息pm2logs//查看当前信息pm2stopexample.js//停止examplepm2deleteexample.js//删除exampleLinux平台安装MongoDBMongoDB提供64位Linux发行版你可以下载安装包来自官网。下载地址:https://www.mongodb.com/downl...下载安装包并解压://下载curl-Ohttps://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.6.3.tgz//解压tar-zxvfmongodb-linux-x86_64-amazon-3.6.3.tgz//将解压包添加到指定目录mvmongodb-linux-x86_64-amazon-3.6.3//usr/将local/mongodb加入PATH路径:MongoDB的可执行文件位于bin目录下,所以可以加入PATH路径。exportPATH=/bin:$PATH是您的MongoDB安装路径。比如本文中的/usr/local/mongodb。创建数据库目录MongoDB的数据存放在data目录下的db目录下,但是安装过程中不会自动创建这个目录,所以需要手动创建data目录,并在data目录下创建db目录.在下面的示例中,我们在根目录(/)下创建数据目录。注意:/data/db是MongoDB默认的启动数据库路径(--dbpath)。mkdir-p/data/db命令行运行MongoDB服务可以在mongo安装目录的bin目录下在命令行中执行mongod命令启动mongodb服务。注意:如果你的数据库目录不是/data/db,可以通过--dbpath指定。MongoDB后台管理Shell如果需要进入MongoDB后台管理,需要先打开mongodb安装目录下的bin目录,然后执行mongo命令文件。MongoDBShell是MongoDB自带的交互式Javascriptshell,MongoDB是一个用于操作和管理MongoDB的交互式环境。MongoDB常用的一些命令MongoDB是一个基于分布式文件存储的数据库,是介于关系型数据库和非关系型数据库之间的产物。showdbs//显示所有数据库列表uselocal//连接指定数据库,不存在则创建登录数据库:使用用户名和密码连接指定数据库:mongodb://admin:123456@localhost/testswitchdatabase:uselocal//切换到数据库showtables//查看所有集合(数据表)db.site.drop()//删除site的集合(数据表)并创建集合:db.createCollection(name,options);//eg:创建固定大小的集合db.createCollection('mycol',{capped:true,autoIndexId:true,//自动在_id字段创建索引size:6142800,//整个集合大小(kB)max:10000//最大文档数(数据项数)});当你插入一个文档时,MongoDB会自动创建一个集合:db.mycol2.inset({"name":"bjw"});更新文档:db.collection.update({,//查询条件,//更新对象{upsert:,//不存在或不插入,默认false,true插入multi:,//默认false,只更新第一个找到的数据writeConcern:}});//eg:db.col.update({"name":"admin"},{$set:{"passowrd":"123"}},{multi:true}//更新多条数据);删除文档:在执行remove函数之前,先执行find()命令判断执行条件是否正确。(习惯性问题)db.collection.remove(,//condition//justOne:true只删除找到的第一个文档);查询文档:db.collection.find();db.col。查找()。漂亮();//以格式化的方式显示所有文档所有文档gt:大于le:小于{$lte:50}==>小于等于50{$gt:50}==>大于50{$gte:50}==>大于等于50三种方法:limit():限制数据条数skip():跳过指定的数据量用这两个方法实现分页。这种方式只适用于小数据的分页,百万级的话效率会很低。sort():按照某个字段排序1:升序-1:降序db.col.find().sort({_id:-1});//按照插入数据申请域名和填写赞助商信息的时间降序排序==>填写网站信息==>上传数据==>拍照==>提交给管理局==>完成备案