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 教程》