1. 在DigitalOcean中创建一个新的主机,这里使用Debian 9.5

配置:1 CPU;1G RAM;25G SSD;IP: 138.68.134.69。已更改初始密码
已有域名 somemamgel.me

增加 Dotbed 源

使用WinSCP在 /etc/apt/sources.list 中增加下面两行

deb http://nginx.org/packages/debian/ stretch nginx
deb-src http://nginx.org/packages/debian/ stretch nginx

stretch 是 Debian 9 的代号, Debian 8 为 jessie

使用 putty 连接 VPS 并输入 apt-get upgrade && apt-get update 更新一波依赖

2. 安装 Nginx

输入 apt-get install nginx 安装 nginx

输入 nginx -v 查看 nginx 版本,显示版本即安装成功

输入 service nginx start 开启 nginx 服务

输入 ps -f |grep nginx 查看 nginx 进程,确认是否开启成功

WinSCP 打开 /etc/nginx/nginx.conf ,把 user nginx 改为 user www-data ,即以 www-data 用户运行使用

输入 systemctl restart nginx 重启 Nginx

3. 安装 MySQL

输入 wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb 下载 MySQL deb 包

输入 dpkg -i mysql-apt-config_0.8.10-1_all.deb 安装 deb 包,选项保持默认即可

输入 apt-get update && apt-get install mysql-server 安装 MySQL

创建 MySQL 的密码,这里用 Aw18f8H5ugIZel8F ,并使用 Legacy Authentication Method 。(MySQL 8.0 默认使用的 Strong Password Encryption 可能会导致兼容性问题)

4. 安装 PHP

Debian 9 源 自带 PHP 7,所以直接执行 apt-get install php7.0 php7.0-cli php7.0-common php7.0-curl php7.0-fpm php7.0-gd php7.0-mysql php7.0-opcache php7.0-xml php7.0-xmlrpc php7.0-sqlite3 php7.0-mbstring 安装PHP 7

systemctl start php7.0-fpm 启动FPM

5. 安装 phpMyAdmin

使用 mkdir -p /www/在根目录创建一个 www 文件夹作为存放 Web 应用的地方

使用 apt-get install unzip && cd /www/ && wget https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-all-languages.zip && unzip phpMyAdmin-4.8.2-all-languages.zip && mv phpMyAdmin-4.8.2-all-languages phpmyadmin && cd 安装 unzip & phpMyAdmin

/etc/nginx/conf.d/ 下新建一个 phpmyadmin.conf 文件,并写入

server {
    listen 888;
    server_name localhost;
    location / {
        root /www/phpmyadmin;
        index index.html index.htm index.php;
        allow 127.0.0.1;
        deny all;
        }
    location ~ \.php$ {
        root /www/phpmyadmin;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /www/phpmyadmin$fastcgi_script_name;
        allow 127.0.0.1;
        deny all;
        include fastcgi_params;
        }
}

输入 systemctl restart nginx 重启 Nginx

6. 安装 WordPress

使用 cd /www/ && wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip && unzip wordpress-4.9.4-zh_CN.zip && mv wordpress somemamgel.me && cd/www/ 目录下载 wordpress 文件,解压后重命名文件夹为网站域名 somemamgel.me

/etc/nginx/conf.d/ 新建一个配置文件 somemamgel.me.conf:

server {
    listen 80;
    server_name *.somemamgel.me somemamgel.me blog.somemamgel.me;
    location / {
        root /www/somemamgel.me;
        index index.html index.htm index.php;
        include /etc/nginx/conf.d/rewrite/somemamgel.me.conf;
        }
    location ~ \.php$ {
        root /www/somemamgel.me;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /www/somemamgel.me$fastcgi_script_name;
        include fastcgi_params;
    }
}

/etc/nginx/conf.d/rewrite/ 下新建一个伪静态配置文件 somemamgel.me.conf:

location / {
    index index.html index.php; 
    if (-f $request_filename/index.html){ 
        rewrite (.*) $1/index.html break; 
    } 
    if (-f $request_filename/index.php){ 
        rewrite (.*) $1/index.php; 
    } 
    if (!-f $request_filename){ 
        rewrite (.*) /index.php; 
    } 
} 

somemamgel.me 目录所有者更改为 www-data : cd /www/ && chown -R www-data:www-data somemamgel.me && cd

7. 配置域名及 SSL

##配置主、子域名解析
去域名服务提供商添加一个 A 记录,名称为 @ ,值为我们 VPS 的 IP 138.68.134.69 ,设置子域名blog.somemamgel.me 则是添加一个 名称为 blog ,值为 VPS IP 的 A 记录

##配置 SSL
这里 SSL 证书使用免费的 Let’s Encrypt 证书

/etc/apt/sources.list 中添加 backports (Debian 9)

deb http://ftp.debian.org/debian stretch-backports main

更新依赖
apt-get upgrade && apt-get update

下载 Let’s Encrypt 客户端 Certbot
apt-get install python-certbot-nginx -t stretch-backports

运行客户端
certbot --authenticator webroot --installer nginx

输入你的邮箱,如 somemamgel@foxmail.com,然后是使用协议和使用邮箱地址做数据分析,选 A 和 Y 即可

接下来选择要启用 HTTPS 的地址,留空即全部启用

然后是填写 somemamgel.me 的 webroot ,这里填 /www/somemamgel.me ,然后又问其他域名的 webroot ,选刚刚填的这个目录即可

等待验证完成之后让我们选择是否全部重定向,选 2 即全部重定向,出现 Congratulation! 就是成功获取了证书

设置强制使用 HTTPS

打开 /etc/nginx/conf.d/somemamgel.me.conf ,发现 Certbot 已经为我们设置好了 SSL 和 301 重定向 √

添加

if ($server_port !~ 443){
    rewrite ^(/.*)$ https://$host$1 permanent;
}

并把 listen 443 ssl; 改成 listen 443 ssl http2; 即可实现强制 HTTPS

输入systemctl restart nginx 重启 Nginx

8. 配置 WordPress

访问 somemamgel.me 或者 blog.somemamgel.me 即可打开 WordPress 安装页面

数据库名填 mysql ,用户 root ,密码即安装 MySQL 时创建的密码 Aw18f8H5ugIZel8F ,其他不用更改

不建议选择会在页面中显示出来的用户名,因为这可能导致网站被恶意攻击。这里填写的邮箱将会在 WordPress 站点注册后提供头像

用户 里为当前用户添加一个名字,并选择 公开显示 为此名字,更新个人资料后即可生效

Setting -> 常规,修改站点地址、WordPress地址为 https://blog.somemamgel.me


Leave a Reply

Your email address will not be published. Required fields are marked *