V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
frogo
V2EX  ›  Node.js

在阿里云 ECS CentOS7 上部署基于 MongoDB+Node.js 的博客

  •  
  •   frogo · 2018-07-30 17:25:33 +08:00 · 5256 次点击
    这是一个创建于 2345 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言:这是一篇教你如何在阿里云的 ECS CentOS 7 服务器上搭建一个个人博客的教程,教程比较基础,笔者尽可能比较详细的把每一步都罗列下来,包括所需软件的下载安装和域名的绑定,笔者在此之前对 Linux 系统也是了解甚少,通过这个过程,自感学到很多东西,我喜欢用文字整理并且分享,也希望因此交到更多的朋友,可能以下教程存在很多描述不清或者措辞不当的地方,还请资深人士给予指出。即使你是小白,也没关系,一步一步按照教程来,可能会遇到一些困难,多百度一下,或者跟我交流,都 OK 的。在教程之前,你需要对整个流程有一个初步全面的了解,主要是安装的软件列表和之间的关系。虽然这个教程是基于我自己开发的一个博客程序(前端工程师最好的全栈开发实践-设计开发属于自己的 nodejs 博客)来部署的,应该说除了 step5 以外,其他步骤都是通用的。当你用优惠券在阿里云购买了一个 ECS 服务器后,你需要选择一个镜像作为系统平台,支持你的程序运行,我这里用阿里自带提供的 Cent OS 7,教程也是以 CentOS 7 为根本。接着你需要在 CentOS 平台上安装一些软件去支撑你的博客,这些软件有以下:

    • WEB 服务器(Nginx or Apache)用来做域名绑定和指向,这里是 Nginx
    • Node.js(支撑你的程序运行)
    • MongoDB(数据库,支撑你的博客数据存储)

    另外你还需要在你的 windows 系统安装一个连接 CentOS 上 MongoDB 数据库的工具 Robomongo 用于测试连接数据库和查看数据库信息,还有一个连接远程 ECS 服务器的工具,我推荐用 MobaXterm。

    Step1. 使用 MobaXterm 终端在 windows 上连接阿里云 CentOS 服务器

    这个终端左侧有一个目录树,你可以用它像 ftp 一样方便的上传,编辑,下载文件,也支持从 windows 拖动到目录下,当然你可以在右侧一直使用命令行,对于敲命令行生疏的朋友是一个帮助。

    alt

    连接很简单,依次点击左上角 Session,弹窗左上角点击 SSH,填写 IP 地址和用户名,点击保存即可,请看下图:

    alt

    Step2. 在 CentOS7 上安装 Node.js

    安装有不同方式,这里用个人觉得比较简单的直接部署方式:

    进入相应目录,下载 bin 包

    打开 MobaXterm 终端,一般是进入到 /usr/local/src/下

    cd /usr/local/src/
    

    https://nodejs.org/en/download/页面找到 Linux Binaries (x86/x64) ,一般是 64bit,右键复制链接地址( https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz)

    wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz
    

    解压包

    等待下载完成之后,在命令行输入 ls,或者点击 MobaXterm 终端左侧目录树到当前目录下,你会看到 node-v8.11.3-linux-x64.tar.xz 文件,接着用下面的两行命令将 xz 文件先解压成 tar 文件,再解压成文件夹。

    xz -d node-v8.11.3-linux-x64.tar.xz
    

    此时在命令行输入 ls,或者点击 MobaXterm 终端左侧目录树到当前目录下可以看到 node-v8.11.3-linux-x64.tar 文件,下面解压 tar 文件。

    tar -xf node-v8.11.3-linux-x64.tar
    

    此时在命令行输入 ls,或者点击 MobaXterm 终端左侧目录树到当前目录下可以看到 node-v8.11.3-linux-x64 文件夹

    部署 bin 文件

    确认 node.js 的路径,进入 node-v8.11.3-linux-x64 文件夹下的 bin 目录,cd node-v8.11.3-linux-x64/bin,输入pwd获取当前 node.js 路径,我的是 /usr/local/src/node-v8.11.3-linux-x64/bin,然后分别执行下面两行命令,给 node 和 npm 创建软链接,ln 指令用于创建关联(类似 Windows 的快捷方式)。

    ln -s /usr/local/src/node-v8.11.3-linux-x64/bin /usr/bin/node
    ln -s /usr/local/src/node-v8.11.3-linux-x64/bin /usr/bin/npm
    

    测试

    node -v
    npm -v
    

    如果软链接关联成功,输入以上命令,会输出响应的版本号,至此,nodejs 安装完毕。

    Step3. 在 CentOS7 上安装 MongoDB

    这里仍然用相对最简单的安装方式。

    下载和解压

    打开https://www.mongodb.com/download-center,点击 Community Server 选项卡,切换到 Linux 部分,这里的 version 有很多种版本,我也很困惑该如何选择,因为我是 CentOS 7,后来查了相关资料,选择了 RHEL 7 Linux 64-bit x64,下面是从网上摘抄为什么选择这个版本的依据资料:

    CentOS 和 rhel 最重要的区别是版权问题,redhat 的红帽图标是有版权的,CentOS 被称为 redhat 的社区版,即大家把 redhat 系统里的所有图标都换了就成了 centos 了。再就是 redhat 是有相应的服务的,也是有些收费的服务,centos 没有。其他都一样:使用,性能,稳定性。。。。都一样。
    

    复制下载链接https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.0.tgz,然后进入相应目录下载:

    cd /usr/local/src
    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.0.tgz
    

    之后输入ls,会看到 mongodb-linux-x86_64-rhel70-4.0.0.tgz 已经下载完毕,然后解压文件

    tar -zxvf mongodb-linux-x86_64-rhel70-4.0.0.tgz
    

    之后输入ls,会看到 mongodb-linux-x86_64-rhel70-4.0.0 文件夹表示解压完毕

    部署

    我们把 mongodb 直接部署在/usr/local/src/下面,由于文件夹文字太长,我们修改一下文件夹名称为mongodb

    mv mongodb-linux-x86_64-rhel70-4.0.0 mongodb
    

    上面命令做的事情是在/usr/local/src下创建一个mongodb文件夹,然后把/usr/local/src下面的mongodb-linux-x86_64-rhel70-4.0.0文件夹下的内容全部移动到mongodb下,并删除mongodb-linux-x86_64-rhel70-4.0.0文件夹。

    创建日志目录和数据文件目录

    cd /usr/local/src/mongodb/
    mkdir -p data/logs
    mkdir -p data/db
    

    启动 MongoDB 有 2 种方式,一是直接指定配置参数,二是指定配置文件。这里先介绍创建配置文件,如果你熟悉 linux 的 vim 命令,可以在命令行编辑,如果不熟悉,可以按照如下的方式,先在你的 windows 系统桌面上准备一个文件 mongodb.conf,填写下列项:

    port=27899
    #端口号(默认的端口号是 27017,这里修改也是为了安全性)
    
    dbpath=/usr/local/src/mongodb/data/db
    #数据目录(指向刚才创建的数据文件目录)
    
    logpath=/usr/local/src/mongodb/logs/mongodb.log
    #日志目录(指向刚才创建的日志目录,并指定 mongodb.log 文件名,系统会自动创建)
    
    fork=true 
    #设置后台运行
    
    logappend=true 
    #日志输出方式(写日志的模式:设置为 true 为追加。默认是覆盖。如果未指定此设置,启动时 MongoDB 的将覆盖现有的日志文件。)
    
    auth=true 
    #开启认证(默认是 flase,不需要认证的,这里开启认证是为了安全性)
    
    

    然后通过 MobaXterm 直接拖到/usr/local/src/mongodb/目录下。

    启动和终止

    进入/usr/local/src/mongodb/bin/目录下,启动 MongoDB

    cd /usr/local/src/mongodb/bin/
    ./mongod --config ../mongodb.conf
    

    如果启动成功,你会看到以下内容:

    2018-07-11T17:45:05.312+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
    about to fork child process, waiting until server is ready for connections.
    forked process: 12674
    child process started successfully, parent exiting
    

    你可以通过ps aux |grep mongodb命令查看 mongodb 进程是否开启

    root     12674  1.6  3.6 1084292 69128 ?       Sl   17:45   0:01 ./mongod --config ../mongodb.conf
    root     12705  0.0  0.0 112660   964 pts/0    R+   17:46   0:00 grep --color=auto mongodb
    

    第一个就是刚刚启动的进程,12674 是进程 ID,如果你想终止进程,可以用kill -9 12674来终止。

    进入终端操作数据库

    cd /usr/local/src/mongodb/bin/
    ./mongo --port=27899
    

    这里说明一下,因为你的 conf 配置文件的端口改成了 27899,所以这里启动终端要指定端口号,如果是 27017 默认端口号,则不需要指定,直接./mongo就可以进入交互控制台,接着你输入show dbs,就会看到以下默认集合:

    > show dbs
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    

    假如你在本地的 windows 环境安装 MongoDB,通常我们测试是否开启 MongoDB 的办法是直接在浏览器输入http://127.0.0.1:27017去查看,但是 linux 系统并不方便,我们还可以用一个命令去查看是否开启:

    netstat -anpt|grep 27899    27899 是 MongoDB 的进程端口号
    

    如果正常开启,你会看下以下的信息,注意这里的 ip 地址是 0.0.0.0,而不是 127.0.0.1,这是因为我在 mongodb.conf 文件里面加了bind_ip = 0.0.0.0,代表外网也可以连接这个阿里云的 Mongodb,这里牵扯很多内容,具体在下面讲。

    tcp        0      0 0.0.0.0:27899           0.0.0.0:*               LISTEN      12674/./mongod
    

    从外网访问阿里云的 MongoDB

    通常情况下,你的 MongoDB 成功启动后,你在浏览器端输入你的 ECS 服务器的公网 IP 再加上你自己的 MongoDB 的端口号(例如: http://47.98.xxx.152:27899 ),可以看到It looks like you are trying to access MongoDB over HTTP on the native driver port.信息,如果访问不到,可能有以下三种情况:

    你的阿里云 ECS 服务器的安全组没有设置对外网开放

    阿里云的服务器为了安全,默认的禁止外网访问,早期的 ECS 服务器是可以访问的,最新的 centos7+版本没有开启安全组,你需要在阿里云后台的安全组设置规则,具体操作请在阿里云后台提交工单咨询,下面是我的咨询结果,供大家参考。

    
     ****** :   服务器 IP:47.98.xxx.152:27899
    问题描述 : 我已经安装了 mongodb,并且启动了,但是我在外网访问不了 47.98.xxx.152:27899,请帮忙排查  
    2018-07-10 15:20:34
    
     工程师 62134 号 :    您好,我们已经收到您提交的问题,正在为您查看,请稍等  
    2018-07-10 15:22:29
    
     工程师 62134 号 :    尊敬的客户您好,根据您的反馈,我们将问题定义如下:
    [问题总结]
    实例名 ID:i-bp1ixbos2x1xxxxxxx
    客户端 IP 地址 :47.98.xxx.152
    出现问题时间段 :  2018-07-10 15:20:34
    问题描述 :我已经安装了 mongodb,并且启动了,但是我在外网访问不了 47.98.xxx.152:27899 
    
     
    接下来,我们将对上述问题进行分析排查,如果针对上述问题定义及范围有任何疑问,欢迎随时联系我们。
    [处理意见]
    您好:
       请您在安全组添加一条允许 27017 端口的策略。
       添加安全组规则请您参考: https://help.aliyun.com/document_detail/25471.html?spm=5176.11065259.1996646101.searchclickresult.5bc177d5XwTU1y 
    
    
    防火墙没有关闭
    systemctl status firewalld 查看防火墙状态
    systemctl start firewalld 开启防火墙
    systemctl stop firewalld 关闭防火墙
    

    以上是 CentOS 的防火墙命令,你可以输入systemctl status firewalld查看防火墙状态,如果防火墙是关闭的,你会看到下列信息:

    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
       Active: inactive (dead)  这里表示防火墙是关闭的状态
         Docs: man:firewalld(1)
    

    如果是开启状态,Active 一栏是Active: active (running) since Thu 2018-07-12 11:18:45 CST; 2s ago

    如果你并不希望关闭防火墙,但是希望仍然能打开 MongoDB 的端口,你可以单独开启 MongoDB 端口,比如你的 MG 端口是 27899,你可以使用下列命令永久打开这个端口:

    firewall-cmd --zone=public --permanent --add-port=27899/tcp; firewall-cmd --reload
    

    成功后会显示两个 success

    [root@frogo2 bin]# firewall-cmd --zone=public --permanent --add-port=27899/tcp; firewall-cmd --reload
    success
    success
    

    地方法针对端口,适用所有端口的开启。如果你想知道你永久打开了哪些端口,你可以通过以下命令:

    firewall-cmd --list-ports
    
    MongoDB.conf 文件bind_ip参数应该设置为0.0.0.0

    在终端输入命令行netstat -anpt|grep 27899,如果显示的 IP 地址是 127.0.0.1,说明 MongoDB 端口只对本地开放,需要将 MongoDB.conf 文件增加bind_ip=0.0.0.0,表示外网可以访问本地的 MongoDB

    port=27899
    #端口号(默认的端口号是 27017,这里修改也是为了安全性)
    
    dbpath=/usr/local/src/mongodb/data/db
    #数据目录(指向刚才创建的数据文件目录)
    
    logpath=/usr/local/src/mongodb/logs/mongodb.log
    #日志目录(指向刚才创建的日志目录,并指定 mongodb.log 文件名,系统会自动创建)
    
    fork=true 
    #设置后台运行
    
    logappend=true 
    #日志输出方式(写日志的模式:设置为 true 为追加。默认是覆盖。如果未指定此设置,启动时 MongoDB 的将覆盖现有的日志文件。)
    
    auth=true 
    #开启认证(默认是 flase,不需要认证的,这里开启认证是为了安全性)
    
    bind_ip=0.0.0.0
    #对外开放端口(默认是 127.0.0.1 )
    

    修改完 mongodb.conf,先 kill -9 掉原先的 mongodb 进程,然后进入 bin 目录,重启 mongodb。

    cd /usr/local/src/mongodb/bin/
    ./mongod --config ../mongodb.conf
    

    此时在netstat -anpt|grep 27899 会看到 IP 地址改成了 0.0.0.0,然后在浏览器端输入你的 ECS 服务器的公网 IP 再加上你自己的 MongoDB 的端口号去测试是否成功。

    Step4.给 MongoDB 开启密码访问

    MongoDB 默认是没有开启安全认证的,对于部署在云上就显得及其不安全,下面我们为 mongodb 的 admin 数据库创建用户。

    MongoDB 数据库有以下特点:

    1,没有默认管理员账号,所以要先添加管理员账号,在开启权限认证。2,切换到 admin 数据库,添加的账号才是管理员账号。3,用户只能在用户所在数据库登录,包括管理员账号。4,管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在 admin 数据库认证后才可以。这一点比较特别。

    首先 cd 到 bin 目录:

    cd /usr/local/src/mongodb/bin/
    ./mongo --port=27899   进入 MongoDB 交互台,如果是默认是 27017,则不需要加上后面的--port 参数
    在控制台输入
    show dbs
    你会看到以下数据库,blog 是你刚才创建的
    
    > show dbs
    admin   0.000GB
    blog    0.000GB
    config  0.000GB
    local   0.000GB
    
    使用 use admin 切换到 admin 数据库
    
    > use admin
    switched to db admin
    
    使用 db.createUser()函数在 admin 数据库下创建用户,老版本的 MongodDB 是 db.addUser()函数,这里注意一下,因为网上很多没有指明版本
    > db.createUser({user:"root",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
    Successfully added user: {
            "user" : "root",
            "roles" : [
                    {
                            "role" : "userAdminAnyDatabase",
                            "db" : "admin"
                    }
            ]
    }
    我们看到已经成功在 admin 下创建了一个用户名为 root,密码为 123456 的用户
    userAdminAnyDatabase:授予在所有数据库上管理 User 的权限-意思是可以在所有的数据库管理 User,但是没有操作权利,只有你在那个数据库验证了 User,然后才能去操作数据库的读写。(如果不能白,可以百度 MongoDB 的 role 方面知识)
    

    现在我们成功的创建了用户和密码,下面请将 mongodb.conf 文件中的开启安全认证项修改为 true

    cd /usr/local/src/mongodb
    

    用 vim 命令或者通过 MobaXterm 终端直接修改文件,文件最后呈现以下样子

    # idae - MongoDB config start
    # 设置数据文件的存放目录(根据实际的 db 文件夹的路径填写)
         dbpath = /usr/local/src/mongodb/data/db
     
    # 设置日志文件的存放目录及其日志文件名(根据实际的 logs 文件夹的路径填写)
         logpath = /usr/local/src/mongodb/data/logs/mongodb.log
     
    # 设置端口号(默认的端口号是 27017 )
         port = 27899
     
    # 设置为以守护进程的方式运行,即在后台运行
         fork = true
    
    # 日志  
         logappend=true
       
    # 开启认证
         auth = true  
           
    # 开启远程访问
         bind_ip = 0.0.0.0
    

    然后找到 MongoDB 进程,先 kill 掉,再重启

    [root@frogo2 mongodb]# ps aux |grep mongodb
    
    
    root     22083  0.2  4.5 1078336 85724 ?       SLl  Jul19   2:38 ./mongod --config ../mongodb.conf
    root     23111  0.0  0.0 112660   964 pts/1    R+   11:07   0:00 grep --color=auto mongodb
    
    [root@frogo2 mongodb]# kill -9 22083
    [root@frogo2 mongodb]# cd bin
    [root@frogo2 bin]# ./mongod --config ../mongodb.conf  
    
    2018-07-20T11:08:32.841+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
    about to fork child process, waiting until server is ready for connections.
    forked process: 23115
    child process started successfully, parent exiting
    
    

    然后再次打开 MongoDB 交互台,使用 show dbs 命令会报出未验证的提示:

    ./mongo --port=27899   进入 MongoDB 交互台
    > show dbs
    
    
    2018-07-20T11:09:51.770+0800 E QUERY    [js] Error: listDatabases failed:{
            "ok" : 0,
            "errmsg" : "command listDatabases requires authentication",
            "code" : 13,
            "codeName" : "Unauthorized"
    } :
    _getErrorWithCode@src/mongo/shell/utils.js:25:13
    Mongo.prototype.getDBs@src/mongo/shell/mongo.js:65:1
    shellHelper.show@src/mongo/shell/utils.js:865:19
    shellHelper@src/mongo/shell/utils.js:755:15
    @(shellhelp2):1:1
    
    

    我们可以看到结果显示失败未验证,说明我们刚才开启 MongoDB 密码登录成功,下面我们需要验证,首先切换到 admin 数据库下,也就是说,验证步骤必须在 admin 数据库下面进行

    > use admin
    switched to db admin
    > show collections
    Warning: unable to run listCollections, attempting to approximate collection names parsing connectionStatus
    > db.auth("root","123456")
    1
    > show dbs
    admin   0.000GB
    blog    0.000GB
    config  0.000GB
    local   0.000GB
    
    

    db.auth()函数是验证方法,可以看到显示结果 1 表示成功验证,这个时候我们再 show dbs,就成功显示了。 这个时候我们就可以对数据库任意操作了。

    现在我们尝试用 Robomongo 工具在外部连接 MongoDB 数据,你需要在 Authentication 一栏填写数据库名和用户名密码

    alt

    Step5.在 CentOS7 上部署 node.js BLOG 程序

    1.我们把 blog 文件放在 home 目录下,cd 到 home 下面,clone 你的 blog 代码到目录下(或者打开 MobaXterm 终端左侧的目录树,把 blog 拖到 home 目录下)

    安装 node 依赖包

    npm install
    

    修改 config.js 文件中的数据库连接

        //mongodb 配置信息  
        mongodb: {
            uri: 'mongodb://root:123456@localhost:27899/blog',
            options: {}
        },
    

    运行node app.js,如果成功,会提示服务已经启动,端口号:7000

    安装 forever 守护进程,以保证 node 可以持续工作。

    npm install forever -g 全局安装
    

    输入forever如果报错bash: forever: command not found,则需要建立一个软连接:

    找到 forever 安装路径npm list -g --depth 0

    [root@frogo2 ~]# npm list -g --depth 0
    /usr/local/src/node-v8.11.3-linux-x64/lib
    ├── [email protected]
    └── [email protected]
    

    /usr/local/src/node-v8.11.3-linux-x64/lib/node_modules/forever就是安装路径,你也可以打开 MobaXterm 终端去查看它的位置,然后使用ln -s建立软连接

    ln -s /usr/local/src/node-v8.11.3-linux-x64/lib/node_modules/forever/bin/forever /usr/bin/forever
    

    再次输入forever 就不会报错command not found 了,下面是 forever 的命令

    //用 forever 启动 forever start xxx.js

    //重启 forever restart xxx.js

    //查看进程 forever list

    //停止 forever stop xxx.js

    我们可以用以下命令启动 app.js

    cd /home/blog/
    forever start app.js
    

    出现以下信息表示成功启动,这个时候,你关掉了 MobaXterm 终端也没关系。

    warn:    --minUptime not set. Defaulting to: 1000ms
    warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
    info:    Forever processing file: app.js
    

    然后用阿里云服务器公网的 IP+7000 端口号,就可以访问到该 blog 的页面了。

    Step6.在 CentOS7 上安装 Nginx 服务器并绑定域名到博客

    阿里云的 CentOS7 默认是没有安装 WEB 服务器的,基本主流的 WEB 服务器就是 apache 和 nginx,如果安装了 WEB 服务器,80 端口默认是打开的,你可以用 netstat -an|grep :80 查看是否安装了 WEB 服务器。

    在这里,我推荐用 nginx,因为轻量级,比较简单,具体安装教程也相对容易,请参考教程 https://www.cnblogs.com/jerrypro/p/7062101.html。

    安装完 nginx 以后进入/usr/local/nginx/sbin/下执行./nginx启动 WEB 服务,这个时候你输入阿里云 ECS 的公网 IP 看到粗体 Welcome to nginx!字样信息表示安装和启动 nginx 成功。由于博客的程序端口是 7000,而默认 web 服务器是 80,在这里你需要在 ngnix 的 conf 文件设置一下代理 ,首先进入到/usr/local/nginx/conf/目录下,打开目录下的 ngnix.conf 文件,找到 server{}代码块,在 location /{}里面增加 proxy_pass http://127.0.0.1:7000;,这个地址是指向 blog 程序的,另外把你需要绑定的域名写在 server_name 后面,其他的项被注释的你可以自由配置。

    server {
            listen       80;
            #server_name  localhost;
            server_name  www.frogo.me;(需要绑定的域名)
            #root  /home/frogo;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                proxy_pass http://127.0.0.1:7000;(指向 7000,就是你 node.js 博客程序的端口)
                #root   /home/frogo;
                #index  index.html index.htm;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ \.php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ \.php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /\.ht {
            #    deny  all;
            #}
        }
    

    然后 cd 到/usr/local/nginx/sbin/下面,执行 nginx -s reload,即可成效,这个时候剩下最后一件事,就是将你的域名的 A 记录绑定到你的 ECS 服务器的公网 IP 上面。不久以后,当你访问域名,即可看到你的 blog 程序。

    2 条回复    2018-07-30 22:10:54 +08:00
    yuanfnadi
        1
    yuanfnadi  
       2018-07-30 19:05:45 +08:00 via iPhone
    docker-compose 了解一下
    poorcai
        2
    poorcai  
       2018-07-30 22:10:54 +08:00
    收藏一下,多谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1168 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:23 · PVG 07:23 · LAX 15:23 · JFK 18:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.