Ubuntu 系统虽好,并且是商业公司 Canonical Ltd 维护,质量是绝对有保障的,可是有一点让我很不爽的地方,就是这系统太激进,出于我的爱好,我推荐使用 Debian 做为生产环境,毕竟 Ubuntu 也是 Debian 改的嘛。php
而 Debian 由社区维护,没商业公司那么多杂七杂八的流程,Dotdeb 制做维护的 LEMP 仓库,即是其中一个佼佼者,基本上官方发布最新稳定版,这货就会跟上。html
众所周知,Ubuntu 是基于 Debian 系的,因此使用上彻底不成问题,下面咱们进入安装步骤吧。mysql
如下安装步骤都在 root
用户下完成,请自行使用 su
命令切换到 root
用户nginx
按照 Dotdeb 的安装说明,从 Nginx 1.10.2 开始已经修复并彻底支持 HTTP/2 ,可是其中的 OpenSSL
升级须要使用 Debian 8.x Jessie 的 Backports
仓库sql
首先新建个源文件 /etc/apt/sources.list.d/dotdeb.list
,加入这几行数据库
#Backports deb http://ftp.debian.org/debian jessie-backports main #Dotdeb deb http://packages.dotdeb.org jessie all deb-src http://packages.dotdeb.org jessie all deb http://packages.dotdeb.org jessie-nginx-http2 all deb-src http://packages.dotdeb.org jessie-nginx-http2 all
而后导入 Dotdeb 的 GnuPG keyubuntu
wget https://www.dotdeb.org/dotdeb.gpg apt-key add dotdeb.gpg
接着更新一下系统而且安装一些必要的软件vim
apt-get update && apt-get upgrade apt-get install vim curl sudo wget
Debian 8.x Jessie 目前的 OpenSSL 版本仍是 1.0.1,不支持 ALPN 的最低要求 1.0.2,因此咱们升级安全
apt-get -t jessie-backports install libssl1.0.0 apt-get -t jessie-backports update && apt-get -t jessie-backports upgrade
检查一下 OpenSSL 版本是否正确bash
root@debian ~ # openssl version OpenSSL 1.0.2k 26 Jan 2017
apt-get install nginx-extras
apt-get install php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-xml php7.0-xmlrpc php7.0-zip
修改 php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.0/fpm/php.ini
重启 PHP
systemctl restart php7.0-fpm
Nginx 参考配置文件
server { listen 80; listen [::]:80; # 指定网站目录,可根据本身状况更换,建议放在 /var/www 目录下 root /var/www/example.com; index index.php index.html index.htm; # 默认第一个域名,替换 example.com 为您的域名 server_name example.com; location / { try_files $uri $uri/ =404; } # 开启 PHP7.0-fpm 模式 location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } }
和《Ubuntu Server 16.04 安装 LEMP / LNMP 教程》一文同样,咱们推荐使用 Percona Server 代替原生的 MySQL,这里就简单重复一下
导入 Percona Server 的源
wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
记得检查一下 /etc/apt/sources.list.d/percona-release.list
是否正确
更新系统并安装 Percona Server 5.7
apt-get update apt-get install percona-server-server-5.7
推荐作一次 MySQL 安全设置
mysql_secure_installation
使用 MySQL root 用户登录
mysql -u root -p
建立数据库 example_database
CREATE DATABASE example_database DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
建立用户名 example_user
并赋予权限
GRANT ALL ON example_database.* TO 'example_user'@'localhost' IDENTIFIED BY '这里改为你要设置的强大的没人能猜出来的随机的密码';
刷新 MySQL 权限
FLUSH PRIVILEGES;
没问题之后就能够退出了
EXIT;
好了,大功告成,其实除了增长 Dotdeb 的源,不须要对 Nginx 和 PHP 进行额外的源修改,其他步骤是和 Ubuntu 一毛同样的,因此不少步骤都进行了说明上的省略所见,如需更详细的说明,请访问《Ubuntu Server 16.04 安装 LEMP / LNMP 教程》