在初始部署使用过程中27017端口,给了很多的帮助,系统才得以顺利部署成功并投入使用。

下面就正式进入基于的博客的搭建使用。

一、基础环境:

操作系统:CentOS7.6 x64
应用软件:
Nginx
Mongodb
Nodejs
Eggjs

森哥推荐的的博客,是一套结构简单、易于拓展、特别适合前端开发工程师做二次开发的内容管理系统。

为了防止被判定为疑是广告,这里就不提供具体的网址了,大家可以到或Gitee(码云)上去,通过关键字进行搜索。

森哥在这里,尽量给的是yum的安装方法,这样,对新手来说,是最容易上手的,也减少了编译安装过程中可能遇到的其他不必要麻烦。

二、环境搭建2.1、基础环境配置及相关应用依赖安装2.1.1、关闭

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0 

2.1.2、关闭系统自带防火墙

systemctl stop firewalld    //停止系统默认的防火墙
systemctl mask firewalld   //屏蔽服务(让它不能启动)

2.1.3、常用管理工具及依赖安装

yum install -y chkconfig  net-tools telnet ntsysv mlocate lrzsz wget lsof setuptool tcpdump
yum install -y vim python
yum install -y make cmake gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers  gd gd-devel perl expat expat-devel nss_ldap unixODBC-devel libxslt-devel libevent-devel libtool-ltdl bison libtool zip unzip gmp-devel python-devel perl-devel perl-ExtUtils-Embed
yum install -y pcre pcre-devel  
yum install -y git

2.1.4、yum源更新、加速下载速度及解决中断问题

yum install -y epel-release
yum clean all
yum makecache

mkdir /root/software
cd /root/software
yum install -y yum-fastestmirror
wget https://wilmer.gaa.st/downloads/axel-1.0b.tar.gz
tar zxvf axel-1.0b.tar.gz
cd axel-1.0b
./configure --i18n=1
make
make install
yum -y install yum-utils
yum clean all
yum-complete-transaction --cleanup-only

2.2、Nginx安装

cd /root/software
wget https://mirrors.ustc.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm -ivh epel-release-7-11.noarch.rpm

yum install automake autoconf libtool make
yum install -y nginx
systemctl enable nginx     //设置开机自启动
systemctl start nginx

2.3、安装

安装调试阶段,建议不要设置密码访问,等都通过后,再建议加个密码权限,保障安全。

创建yum源

vi /etc/yum.repos.d/mongodb-org-4.0.repo

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

yumclean all
yum makecache
yum install -y mongodb-org

systemctl enable mongod
systemctl start mongod

查看有没有启动起来,可以从两个方面来看。

端口27015_端口27001_27017端口

端口号27017 是 默认的端口号

由此可以看出, 已正确安装并运行起来了。

2.4、安装

如上一样的,使用yum安装可以减少新手的很多问题。

sudo yum install nodejs
sudo yum install npm   //由于新版的NodeJS已集成了npm,这步可以忽略。

已安装成功。

三、内容管理系统部署

将代码git clone至本地。接下来,也是站点的目录。森哥个人的习惯是,有单独的数据盘,就放在数据盘上,若是没有就统一放在/home/下面。现在假设,是在/home/下面。

现在最新的版本为:2.1.5,我们要的就是这个最新版本。

mkdir /home/website
cd /home/website
git clone -b 2.1.5 https://github.com/doramart/DoraCMS.git   //这个是国外的服务器,速度会比较慢
git clone -b 2.1.5 https://gitee.com/doramart/DoraCMS.git   //国内的码云,速度很快。推荐使用。

下载安装后,现在开始安装相关依赖。

安装全局依赖

cd /home/website/DoraCMS
npm install egg-scripts -g   // eggjs 脚本执行
npm install gulp -g  // 静态资源构建
npm install apidoc -g  // api文档生成

安装本系统依赖(代码根目录下)

npm install

安装插件缺少的依赖

cd lib/plugin/egg-dora-content
npm install --unsafe-perm=true
cd lib/plugin/egg-dora-maildelivery
npm install --unsafe-perm=true

带上—perm=true参数,原因是这里面有一个插件只支持MAC OSX环境的,不带这个参数的话,会提示出错。

初始化数据

npm run init

四、内容管理系统配置4.1、修改内容管理系统配置

因为是生产环境,所以,需要对系统的配置文件.prod.js进行参数修改。

cd /home/website/DoraCMS
vi config/config.prod.js 

请根据实际路径及您自己的域名,进行修改。

生成api文档

npm run makePrdDoc
api访问地址: http://localhost:8080/static/apidoc/index.html

4.2、配置Nginx

Nginx是啥东西,这里就不赘言,直接进入正题。

由于内容管理系统,启动的时候,默认是使用8080端口,若是您的服务器上已安装了或是其他的应用已占用了8080端口,那么,记得,要先把内容管理系统的端口给予修改成另一个,这个端口需要记下来,回头使用Nginx转发的时候,会用到。

端口修改方法如下:

cd /home/website/DoraCMS
vi config/config.default.js

将port: 8080改成自定义的,这里,森哥就不修改了,继续使用默认的8080端口。

27017端口_端口27015_端口27001

当一个生产环境的网站在投入使用时,不可能通过IP加端口的方式来访问的。那么,就得考虑使用web服务了,这里,森哥推荐的是Nginx,若是您想使用也没意见,看个人喜欢了。

Nginx已安装过,目前都是按默认配置的,其他过程不多说,直接进入实操阶段。

cd /etc/nginx/conf.d/
vi fixes.cn.conf

upstream ups_blog {
    server 127.0.0.1:8080;
}
server {
        listen 80;
        server_name fixes.cn www.fixes.cn;
        rewrite ^(.*)$  https://fixes.cn$1 permanent; 
}
server {
        listen 443 ssl;
        server_name fixes.cn www.fixes.cn;
        ssl_certificate      /etc/nginx/ssl/fixes.cn.pem;
        ssl_certificate_key   /etc/nginx/ssl/fixes.cn.key;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;
        location / {
                proxy_set_header  REMOTE-HOST $remote_addr;
                proxy_pass http://ups_blog/;
                proxy_set_header   Upgrade $http_upgrade;
                proxy_set_header   Connection keep-alive;
                proxy_set_header   Host $host;
                proxy_cache_bypass $http_upgrade;
                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header   X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_next_upstream off;
                proxy_connect_timeout   300s;
                proxy_read_timeout      300s;
                proxy_send_timeout      300s;
                client_max_body_size 16m;
                proxy_buffer_size  128k;
                proxy_buffers   32 32k;
                proxy_busy_buffers_size 128k;
                client_body_buffer_size 512k;
                index  index.php index.html index.shtml;
        }
   
#log...
}

nginx -t   //检查配置文件是否正确

4.3、启动相关服务

生产模式启动

npm start

生产模式停止

npm run stop

Nginx启动

systemctl start nginx

Nginx停止

systemctl stop nginx

Nginx重启

systemctl restart nginx

重启后即可通过域名直接访问您的博客系统了。

先别急着添加内容。下面还要对安全进行处理一下。

五、加把安全锁

之前我们为了调试方便,没给设置密码,但在生产环境中,建议还是使用密码,是为了更安全。

5.1、用户操作5.1.1、新建管理员用户

mongo

show dbs    //新版本没有admin数据库,直接继续下面的操作
use admin
db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

中的用户是基于身份role的,该管理员账户的 role是 。 ‘’代表用户管理身份,’’ 代表可以管理任何数据库。

db.auth("useradmin", "adminpassword") 如果返回1,则表示成功。
exit退出系统
db.auth()方法理解为 用户的验证功能

5.1.2、新建用户

use yourdatabase
db.createUser({ user: "youruser2", pwd: "yourpassword2", roles: [{ role: "readWrite",db: "yourdatabase" }] })

该用户用于该数据的读写,只拥有读写权限。

5.1.3、修改系统配置

现在修改内容管理系统中的配置文件。

cd /home/website/DoraCMS
vi config/config.prod.js

链接的格式如下:

mongodb://youruser2:yourpassword2@localhost/yourdatabase

27017端口_端口27001_端口27015

初始化数据

npm run init

重启内容管理系统

cd /home/website/DoraCMS
npm run stop && npm start

会员全站资源免费获取,点击查看会员权益

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注