本文章参考了qiu_freedom的博客,改动主要在现有版本的更新和自己参考博客搭建遇到的问题(已解决)赋上了说明。
可以选择腾讯或者是其他产商的服务器,购买后会获得服务器ip地址,再购买域名,将域名绑定到ip地址上。
Xshell是用来远程连接服务器的,Xftp是用来远程上传文件的(你的项目文件),下载地址: 网址直达,填写姓名和邮件地址后,下载地址会直接发送到你的邮件,个人使用时免费的。
我选择的是Node.js 12.16.0的版本
2.1、首先切换到/usr/local/src使用wget下载
cd /usr/local/src
wget https://nodejs.org/dist/v12.16.0/node-v12.16.0-linux-x64.tar.xz
2.2、解压到当前目录下(或者解压到你想解压的目录)
tar xvf node-v12.16.0-linux-x64.tar.xz
3.创建软链接,设置全局环境变量使node和npm命令可在全局使用
ln -s /usr/local/src/node-v12.16.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/src/node-v12.16.0-linux-x64/bin/npm /usr/local/bin/npm
通过node -v 命令检测node是否成功安装
链接:网址直达
因为我服务器是CentOS系统,所以选择了RedHat
1.1、 复制画圈的代码
1.2、创建文件,注意对应版本号
vi /etc/yum.repos.d/mongodb-org-4.2.repo
1.3、将复制的内容粘贴,按ESC,:wq保存并退出编辑
1.4、安装MongoDB
sudo yum install -y mongodb-org
1.5、(可选)取消自动升级
新版本出来yum会自动升级,添加以下代码到/etc/yum.repos.d/mongodb-org-4.2.repo文件中
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
1.6、(说明)下面是mongdb默认数据库文件以及日志的指令位置
/var/lib/mongo (the data directory)
/var/log/mongodb (the log directory)
开启mongodb
sudo service mongod start
关闭MongoDB
sudo service mongod stop
重启MongoDB.
sudo service mongod restart
sudo service mongod start
mongo
成功的话,如图:
3.1、创建并切换到admin数据库
use admin
进入admin数据库,有switched to db admin的提示
3.2、 建立一个管理用户的角色amdin
db.createUser({user:"admin",pwd:"admin",roles:[{role:"userAdminAnyDatabase",db:"admin"}]});
前面创建的是管理数据库用户的账号,对于具体的数据库,我们需要对应的用户,所以:
3.3、 创建ta数据库并切换到ta数据库,(ta是指你要创建的数据库名)
use ta
进入ta数据库有switched to db ta的提示,如图:
3.4、 在ta的数据库下创建用户,分配ta数据库读写的权限
db.createUser({user:'test1',pwd:'test1',roles:[{role:'readWrite',db:'ta'}]})
3.5、 一定要完成上面的步骤后,再开启数据库权限
编辑文件:
vi /etc/mongod.conf
添加如下:(注意缩进,security没有缩进,authorization缩进2个字符)
security:
authorization: enabled
3.6、 保存并重新启动。(必须)
systemctl restart mongod.service
3.7、 测试数据库
3.7.1、切换到指定数据库
use admin
3.7.2、查看所有数据库
show dbs
3.7.3、(可选)你可能会发现你看不到ta的数据库,因为你这个数据库没有一条数据,所以没显示
3.7.4 、(可选)往ta数据库插入一条数据,再运行show dbs就可以看到了
db.ta.insert({"name":"测试"})
更多关于mongoDB权限配置的,可参考FinelyYang的博客
yum install nginx
systemctl start nginx
查看防火墙状态 firewall-cmd --state
停止firewall systemctl stop firewalld.service
禁止firewall开机启动 systemctl disable firewalld.service
npm install -g pm2
ln -s /usr/local/src/node-v12.16.0-linux-x64/bin/pm2 /usr/local/bin/
npm run build
const path = require('path');
app.use(express.static(path.join(__dirname, 'dist')));
npm i
pm2 start /home/'你的项目名'
成功运行的图
(可选)附上一些pm2的常用命令:
启动项目: pm2 start ‘你的文件路径’
查看所有项目: pm2 list
重启项目: pm2 restart ‘项目id’
停止项目: pm2 stop “项目id”
删除项目: pm2 delete “项目id”
到了这一步,配置完,你就能在其他电脑访问你的网站了,因为我没弄域名(要备案,太麻烦),所以我就写最简单的配置的nginx,通过公网ip访问,如果你想弄更高级的操作(多页面啥的),你可以看看其他文章
1.修改配置文件
vi /etc/nginx/nginx.conf
2.在http{}里加入如下代码,最好手动输入
server {
listen 80;
server_name ‘你的公网ip或者你的域名’;
location / {
root /home/‘你的项目名’/dist;
proxy_pass http://127.0.0.1:3000;
}
}
3.保存重启nginx(必须)
systemctl restart nginx.service
这是我按照步骤成功的案例,若有更好或者可以优化的地方,可在评论区献上想法,谢谢