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*')
複製代碼
相關文章
相關標籤/搜索