手记

使用 Jenkins + GitHub + Nginx + HTTPS 搭建静态网站

使用 Jenkins + GitHub + Nginx + HTTPS 搭建静态网站
安装 Nginx

Nginx 是一个高性能的 HTTP 和反向代理服务器,我们首先通过 yum 安装 nginx

$ sudo yum install epel-release
$ sudo yum install nginx
$ sudo /etc/init.d/nginx start
配置 Nginx

安装完成后,进入服务器的 /etc/nginx 找到 nginx.conf 配置文件,并创建一个 sites 目录用于存放网站的配置文件

$ mkdir sites

复制 conf.d 文件夹下的 default.conf 并重命名为 site.example.com

$ cp /etc/nginx/conf.d/default.conf /etc/nginx/sites/site.example.com

编辑 site.example.com

server {
    listen       80;
    server_name  www.haoduoyu.cc;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
        root  /root/www/homepage/;
        index index.html;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }

}

然后修改 nginx.conf 文件

 # include /etc/nginx/conf.d/*.conf;
 include /etc/nginx/sites/*;

保存并退出后,执行

$ service nginx restart

静态网站配置就完成了

安装 Git
$ yum install git-core
安装 NPM
$ yum -y install nodejs npm --enablerepo=epel
安装 Jenkins

Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。我们通过 yum 安装 Java 和 Jenkins。

$ yum install java
$ wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
$ rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ yum install jenkins
配置 Jenkins

安装完成后,启动 Jenkins

$ service jenkins start

我们可以在 8080 端口访问到 Jenkins

然后在服务器的指定目录找到密码登录

/var/lib/jenkins/secrets/initialAdminPassword

按照默认配置安装插件

等待插件安装完成

完成配置,就可以登录 Jenkins 了。

为了能够与 GitHub 配合,我们还需要进入对 GitHub 进行一些设置。首先进入 Settings 界面选择 Personal Access Token 页面点击 Generate new token

进入项目设置界面配置 Webhooks,输入 Jenkins 服务器的 IP地址

再次进入 Jenkins 配置页添加 Github Server

点击 Add,选择 Secret text,并复制刚刚在 Github 生成的 token 到 Secret 中

我们可以点击 Test connection 来测试配置是否有效。

接下来,我们需要新建一个任务

配置源码管理

执行构建命令

为了能够执行脚本,我们还需要为 Jenkins 添加权限

$ vim /etc/sysconfig/jenkins

修改为

$JENKINS_USER="root"

然后执行

$ chown -R root:root /var/lib/jenkins
$ chown -R root:root /var/cache/jenkins
$ chown -R root:root /var/log/jenkins
$ service jenkins restart

最后点击保存,配置就算完成了。

当我们往设定的 GitHub 仓库 更新代码时,Jenkins 就会自动构建部署,省去了每次发布都要手动部署的烦恼。我们也可以在 Jenkins 网站中通过点击立即构建来构建应用。

配置 HTTPS

下载 cerbot

$ git clone https://github.com/certbot/certbot
$ cd certbot
$ ./certbot-auto --help

生成免费证书

$ ./certbot-auto certonly --webroot --agree-tos -v -t --email 邮箱地址 -w 网站根目录 -d 网站域名

生成 dhparams

$ openssl dhparam -out /etc/ssl/certs/dhparams.pem 2048

nginx 配置

server {
    listen       443 ssl;
    server_name  localhost;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/www.haoduoyu.cc/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.haoduoyu.cc/privkey.pem;
    ssl_dhparam /etc/ssl/certs/dhparams.pem;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        root   /root/www/homepage/;
        index  index.html;
    }
}

重启 nginx 后就可以通过 HTTPS 访问网站了。

8人推荐
随时随地看视频
慕课网APP