如何在Ubuntu Server16.04上安装Nginx1.10.0 PHP7 MySQL5.7

本教程以运行在vagrant上的ubuntu-16.04-server为例


安装PHP7

1
sudo apt-get install php-fpm

[Option]通过php -v命令确认安装版本为PHP7
Imgur
[Test]在/var/www/html目录下新建index.php文件

1
sudo vi /var/www/html/index.php

按i进入编辑模式,左下角出现insert。使用phpinfo()输出php环境信息。

1
2
3
<?php
phpinfo();
?>

按ESC键退出编辑模式,左下角insert消失。输入:wq命令保存并退出,或连续按两次Z使用快捷键保存并退出。


安装Nginx

1
sudo apt-get install nginx

安装完成后,Nginx默认直接启动。通过命令curl localhost查看localhost/index.nginx-debian.html页面源代码,可以确认Nginx运行正常。
Imgur
或通过浏览器访问https://localhost:8080/index.nginx-debian.html
Imgur
修改Nginx配置文件(/etc/nginx/sites-available/default),使其解析PHP文件。

1
sudo vi /etc/nginx/sites-available/default

按i进入编辑模式,左下角出现insert。
将Default server configuration下面的默认server配置替换为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}

(即:在index添加index.php默认解析主页,取消.php的location注释)
按ESC键退出编辑模式,左下角insert消失。输入:wq命令保存并退出,或连续按两次Z使用快捷键保存并退出。
[Test] 如有其它配置修改,可使用sudo nginx -t检测配置文件是否有语法错误
重新启动Nginx服务

1
sudo service nginx restart

[Test]使用curl localhost 即可看到phpinfo()输出PHP7运行环境的HTML源代码,或通过浏览器访问localhost
Imgur


安装MySQL5.7

1
sudo apt-get install mysql-server

设置MySQL root用户的密码
Imgur
再次输入密码进行确认
Imgur
登录MySQL

1
mysql -uroot -p

Imgur


至此,Nginx1.10.0+PHP7+MySQL5.7全部安装完毕。