软件版本:Debian 9.5、Nginx 1.14.10、PHP 7.2、MySQL 8.0。
说明:由于系统版本不同会有细微差别,本文适用于 Debian 9x。

1.更新系统和安装必要软件

sudo apt-get update && apt-get upgrade
sudo apt-get install vim unzip apt-transport-https lsb-release

2.安装 Nginx

Nginx是一个异步框架的Web服务器,也可以用作反向代理,负载平衡器 和 HTTP缓存。

2.1 安装 Nginx 信任密钥,避免稍后下载安装 Nginx 出错。

wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key

2.2 添加 Nginx 官方软件源

cat >> /etc/apt/sources.list.d/backports.list << EOF
deb http://nginx.org/packages/debian/ stretch nginx
deb-src http://nginx.org/packages/debian/ stretch nginx
EOF

2.3 更新软件源然后安装 Nginx

apt-get update
apt-get install nginx

启动 nginx:

nginx -c /etc/nginx/nginx.conf

访问服务器 IP 地址,不出意外可以看到如下页面, 说明 Nginx 服务器安装成功:

使用 nginx -v 命令查看 Nginx 版本

root@debian:~# nginx -v
nginx version: nginx/1.14.0

2.4 配置 Nginx 绑定域名

1.假设您已将域名指向服务器 IP 地址。
2.假设网站目录为:/var/www/wp
2.4.1创建网站目录
mkdir -p /var/www/wp

4. 部署 HTTPS

不需要 HTTPS 可以直接跳过。
Certbot 是 Let’s Encrypt  官方的客户端,可以自动化的获取、部署和更新证书
首先添加 backports 软件源。
cat >> /etc/apt/sources.list.d/backports.list << EOF
deb http://ftp.debian.org/debian stretch-backports main
EOF
然后运行更新, 并安装 Certbot:
apt-get update
sudo apt-get install python-certbot-nginx -t stretch-backports

配置证书

sudo certbot --nginx

5.安装 PHP 7.2

官方源还没有 PHP 7.2,所以使用 Ondřej Surý 制作的 PHP 源。
Ondřej Surý  是 Debian 的开发人员,自从 PHP 5 以来一直在为 Debian 打包 PHP。虽然是第三方软件包,但却是最接近官方包的软件包。
安装Ondřej Surý 的信任密钥
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
添加 Ondřej Surý 软件源
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
更新系统
sudo apt-get update

安装 PHP7.2 及 WordPress 需要 PHP 包

sudo apt-get install php7.2-fpm php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-opcache

6.安装 MySql 8.0

下载 MySQL 官方提供的安装(配置)工具
wget https://dev.mysql.com/get/mysql-apt-config_0.8.11-1_all.deb

安装下载的发行包

sudo dpkg -i /PATH/version-specific-package-name.deb

更新软件包信息

sudo apt-get update

7.安装 phpMyAdmin

8.安装 WordPress

9.设置 URL 重写 ( URL rewrite)

10.安装 FTP 服务器(vsftpd)

11.Swap

VPS 中我们使用 Swap 文件来配置 Swap

#添加 Swap 文件
sudo dd if=/dev/zero of=/mnt/512MiB.swap bs=1024 count=524288
#修改文件的权限,避免其他用户对这个文件进行误操作
dev@dev:~$ sudo chmod 600 /mnt/512MiB.swap

#格式化为swap文件
dev@dev:~$ sudo mkswap /mnt/512MiB.swap

#将新的文件加入到系统中
dev@dev:~$ sudo swapon /mnt/512MiB.swap

使用命令swapon -s即可查看系统中在用的swap
dev@dev:~$ swapon -s
Filename Type Size Used Priority
/mnt/512MiB.swap file 524284 0 -3
#同样为了保证系统重启后会自动加载我们新的swap文件,需要修改/etc/fstab文件
dev@dev:~$ sudo sh -c ‘echo “/mnt/512MiB.swap none swap sw 0 0” >> /etc/fstab’
参考

[1] nginx: Linux packages
http://nginx.org/en/linux_packages.html

[2] Certbot,  Nginx on Debian 9 (stretch)
https://certbot.eff.org/lets-encrypt/debianstretch-nginx

[3] Debian 9 / Debian 8 使用源安装 LEMP 教程
https://sb.sb/blog/debian-install-nginx-php-mysql/

[4]  A Quick Guide to Using the MySQL APT Repository
https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/

[5] Linux交换空间(swap space)
https://segmentfault.com/a/1190000008125116

Leave a Reply

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