前言
近期在准备搭建一个vue.js+node.js全栈开发的博客,之前由于没有云服务器搭建经验,这篇文章做一下相关的记录,后续再深入学习研究。
Linux 源码编译安装node.js
开篇说了我会尝试建立一个vue.js+node.js全栈开发的博客,自然这个站点会基于node.js构建后端。
Linux下node有多种安装方式,这里我们手工安装官方最新版本。
1.安装编译环境
我的CentOS版本是7.2,安装前先安装编译环境,如gcc编译器:
yum install -y gcc gcc-c++ openssl-devel
复制代码
然后执行gcc -v运行正常:
...
gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
复制代码
2.检查和核对Python版本
Node.js环境需要Python2.6以上,我们需要检查,如果不是则需要安装和升级最新版Python。
python
复制代码
退出python命令行使用exit() 命令或者Ctrl-D快捷键。
3.安装最新版本Node.js
然后依次执行:
cd /usr/local
mkdir node
cd node
复制代码
下载:
wget https://nodejs.org/dist/v10.14.0/node-v10.14.0-linux-x64.tar.xz
复制代码
***.tar.xz格式文件需要两部解压步骤,依次执行:
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 数据库
一、使用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
复制代码
二、自定义安装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*')
复制代码