第一次部署应用到服务器上,写这篇文章来记录一下基本的流程,以方便以后忘了可以查看,并希望可以帮到同样有疑惑的朋友。
操作系统: Ubuntu 16.04
腾讯云主机镜像: CentOS 7.2 64位
参考链接: 帮助中心-腾讯云 如何远程登录linux服务器
使用ssh远程登录,也可以用其他的登录,自行选择。
* 连接: ssh -q -l [云服务器登录账号] -p 22 [云服务器的公网IP地址]
* 断开连接: logout 或 exit
参考链接: Installing Node.js via package manager
根据需要的版本分别输入:
* Run as root on RHEL, CentOS or Fedora, for Node.js v6 LTS:
curl –silent –location https://rpm.nodesource.com/setup_6.x | bash -
curl –silent –location https://rpm.nodesource.com/setup_7.x | bash -
curl –silent –location https://rpm.nodesource.com/setup | bash -
然后用管理员身份,安装
yum -y install nodejs
另外下面有个可选项,大意是提示我们安装用npm编译安装包时可能需要的依赖,我一并安装了。
Optional: install build tools
To compile and install native addons from npm you may also need to install build tools:
在终端中输入
yum install gcc-c++ make
或者
yum groupinstall ‘Development Tools’
版本: v3.4.0
参考链接: Install MongoDB Community Edition on Red Hat Enterprise or CentOS Linux
首先配置 yum,新建并编辑
vim /etc/yum.repos.d/mongodb-org-3.4.repo
在其中输入
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/testing/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
然后输入如下命令进行安装
sudo yum install -y mongodb-org
如果想要安装其他版本的Mongodb可以点开参考链接里面有更详细的安装指南。
service mongod start #启动
service mongod stop #停止
service mongod restart #重启
配置文件路径: /etc/mongod.conf。
若要自己指定数据存储位置和日志的存储位置,我们可以修改MongoDB的配置文件。
举个例子:
若要将数据文件存储在 /home/data/mongo
日志文件存储在 /home/data/log/mongodb.log
注意: 这两个存储的位置要给MongoDB足够的权限来操作,否则会报错
则将配置文件对应部分修改,其他不变
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /home/data/log/mongod.log
# Where and how to store data.
storage:
dbPath: /home/data/mongo
journal:
enabled: true
然后,通过指定配置文件启动MongoDB。
mongod -f /etc/mongod.conf
默认会在后台运行,出现信息
about to fork child process, waiting until server is ready for connections.
forked process: 10286
child process started successfully, parent exiting
如果没有后台运行,可以检查配置文件中
# how the process runs
processManagement:
fork: true # 这里是不是 true
mongod –fork –dbpath [dbpath] –logpath [logpath]
这里 [dbpath] 是数据文件夹的路径,[logpath] 是日志文件的路径。
例如,还是上面的存储位置,
数据文件存储在 /home/data/mongo
日志文件存储在 /home/data/log/mongodb.log
mongod –fork –dbpath /home/data/mongo –logpath /home/data/log/mongodb.log
在终端输入
mongo
use admin
db.shutdownServer()
启动服务前,先查看一下端口是否被占用,若被占用可以添加 –port 参数来指定端口。
netstat -ap | grep [port]
关闭后台运行的指定了其他端口的MongoDB,连接数据库时也要加端口号。
mongo localhost:port
Filezilla 参考文档: FileZilla Documentation
我用的是Filezilla,站点信息填写:
主机: 公网IP
端口: 22
协议: SFTP-SSH File Transfer Protocol
用户名: 云服务器登录账号
密码: 云服务器的公网IP地址
连接后就可以将本地文件上传到云服务器上了。
使用 forever 让Node.js应用后台执行
npm install forever -g
forever –help #帮助,有更详细的命令和参数说明
forever start app.js #启动 app.js
forever stop app.js #关闭 app.js
forever start -l forever.log -o out.log -e err.log app.js
上面的安装和配置都没有问题后,假设app.js为程序入口文件。
只要先后台运行MongoDB
mongod -f /etc/mongod.conf
然后在用forever启动项目
forever start app.js
在浏览器中输入公网IP+端口号,就可以看到页面啦。
以上所有,如有错误,麻烦指出,我会及时更改的。