Linux CentOS7 上搭建node服务

前言

近期在准备搭建一个vue.js+node.js全栈开发的博客,以前因为没有云服务器搭建经验,这篇文章作一下相关的记录,后续再深刻学习研究。vue

Linux 源码编译安装node.js

开篇说了我会尝试创建一个vue.js+node.js全栈开发的博客,天然这个站点会基于node.js构建后端。node

Linux下node有多种安装方式,这里咱们手工安装官方最新版本。python

1.安装编译环境

个人CentOS版本是7.2,安装前先安装编译环境,如gcc编译器:linux

yum install -y gcc gcc-c++ openssl-devel 
复制代码

而后执行gcc -v运行正常:nginx

...
gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
复制代码

2.检查和核对Python版本

Node.js环境须要Python2.6以上,咱们须要检查,若是不是则须要安装和升级最新版Python。c++

python
复制代码

退出python命令行使用exit() 命令或者Ctrl-D快捷键。mongodb

3.安装最新版本Node.js

而后依次执行:数据库

cd /usr/local
mkdir node
cd node
复制代码

下载:npm

wget https://nodejs.org/dist/v10.14.0/node-v10.14.0-linux-x64.tar.xz
复制代码

***.tar.xz格式文件须要两部解压步骤,依次执行:vim

xz -d node-v10.14.0-linux-x64.tar.xz
tar -xvf node-v10.14.0-linux-x64.tar
复制代码

配置环境目录:

ln -s /usr/local/node/node-v10.14.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node/node-v10.14.0-linux-x64/bin/npm /usr/local/bin/npm
复制代码

而后检查node是否正确安装:

node -v
复制代码

若是正确打印出版本则正确安装。

Linux Nginx ssl证书部署

我是在腾讯云上部署的,在这里申请免费的SSL证书:申请免费证书。申请完了后下载证书而后能够利用上面说的Filezilla上传到服务器上,参考这里的文档Nginx 证书部署

  • 下载解压证书,Nginx文件夹内得到SSL证书文件 1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key,
  • 将域名 www.domain.com 的证书文件1_www.domain.com_bundle.crt 、私钥文件2_www.domain.com.key保存到同一个目录,例如/usr/share/nginx目录下。
  • 更新Nginx根目录下conf/nginx.conf 文件。

这里重点说说更新nginx.conf文件,这时候咱们就须要使用nginx -t来查找nginx配置文件,并使用vi命令修改该配置文件,以下:

[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
复制代码

打开 vim 修改nginx.conf文件:

vim /etc/nginx/nginx.conf
复制代码

主要修改server:nginx官方文档

server {
    listen       80;
    server_name  www.domain.com;

    listen 443 ssl;
    # ssl on;
    ssl_certificate /usr/share/nginx/1_www.domain.com_bundle.crt;
    ssl_certificate_key /usr/share/nginx/2_www.domain.com.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
复制代码

配置完成后,正确无误的话,重启nginx:

systemctl restart nginx
复制代码

就可使 www.domain.com 来访问了。

注:(配置关键字段)

配置文件参数	        说明
listen 443	        SSL 访问端口号为 443
ssl on	                启用 SSL 功能
ssl_certificate	        证书文件
ssl_certificate_key     私钥文件
ssl_protocols	        使用的协议
ssl_ciphers	        配置加密套件,写法遵循 openssl 标准
复制代码

Linux 安装 MongDB 数据库

1、使用yum安装MongDB

1.配置MongoDB的yum源

建立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/3.4/x86_64/  
gpgcheck=1  
enabled=1  
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
复制代码

这里能够修改 gpgcheck=0, 省去gpg验证

安装以前先更新全部包(可选操做) :

yum update
复制代码

2.安装MongoDB

安装命令:

yum -y install mongodb-org
复制代码

安装完成后

查看mongo安装位置

whereis mongod
复制代码

查看修改配置文件 :

vim /etc/mongod.conf
复制代码

3.启动MongoDB

启动mongodb :

systemctl start mongod.service
复制代码

中止mongodb :

systemctl stop mongod.service
复制代码

查到mongodb的状态:

systemctl status mongod.service
复制代码

设置开机启动

systemctl enable mongod.service
复制代码

2、自定义安装MongDB

进入/usr/local目录下载mongodb安装包,并解压 tgz(如下演示的是 64 位 Linux上的安装):

cd /usr/local
#下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.1.5.tgz
#解压
tar -zxvf mongodb-linux-x86_64-4.1.5.tgz
#修改目录
mv mongodb-linux-x86_64-4.1.5 mongodb
复制代码

建立数据库目录:

进入mongodb目录,创建一个data文件夹,而后创建db和logs文件夹。

cd mongodb/
mkdir data
cd data
mkdir db
mkdir logs
cd logs/
touch mongod.log
复制代码

配置mongod命令:

进入mongodb目录,创建一个etc文件夹 而后配置mongod.conf

cd mongodb/
mkdir etc
cd etc/
vim mongod.conf
复制代码

配置以下:

dbpath = /usr/local/mongodb/data/db #数据文件存放目录

logpath = /usr/local/mongodb/data/logs/mongod.log #日志文件存放目录
port = 27017  #端口
fork = true  #以守护程序的方式启用,即在后台运行
# nohttpinterface = true
auth=true
bind_ip=0.0.0.0
复制代码

MongoDB 的可执行文件位于 bin 目录下,因此能够将其添加到 PATH 路径中:

export PATH=/usr/local/mongodb/bin:$PATH
复制代码

启动

在/usr/local/mongodb/bin下

mongod -f ../etc/mongod.conf 或 ./mongod -f ../etc/mongod.conf
复制代码

关闭

mongod -f ../etc/mongod.conf --shutdown  或./mongod -f ../etc/mongod.conf --shutdown
复制代码

开启端口

firewall-cmd --zone=public --add-port=27017/tcp --permanent
复制代码

查看端口

firewall-cmd --permanent --query-port=27017/tcp
复制代码

重启防火墙

firewall-cmd --reload
复制代码

查看 mongodb 进程:

ps aux |grep mongodb
复制代码

检查端口是否已被启动:

netstat -lanp | grep 27017
复制代码

Linux 使用 MongDB 数据库

建立用户

建立用户管理员:
   use admin
   db.createUser({user:"root",pwd:"root123456",roles:["userAdminAnyDatabase"]})
   db.auth('root','root123456')
 以用户管理员身份登陆,并切换数据库,建立数据库用户:
   切换到test数据库
   use test
   建立用户名、密码、角色
   db.createUser({user:"username",pwd:"@user123456*",roles:[{role:"readWrite",db:"securitydata"}]})
   设置mongodb配置中的auth为true(/etc/mongod.conf):
   security:
     authorization: enabled
   验证mongodb数据库权限。
   db.auth('user','@user123456*')
复制代码
相关文章
相关标签/搜索