现在PHP7在Ubuntu 16.04 LTS Xenial Xerus可直接获取资源,如此不再需要依赖第三方PPA去下载资源。本教程将教你如何在在Ubuntu 16.04 LTS Xenial Xerus安装Nginx, MariaDB and PHP7 (LEMP Stack)。
步骤一:更新Ubuntu 16.04 LTS
sudo apt-get update
sudo apt-get upgrade
步骤二:安装Nginx网络服务器
Nginx作为服务器,性能十分强大。它可以用作Reverse的代理服务器。输入以下命令安装Nginx:
sudo apt-get install nginx
安装之后,Ubuntu被占用时,输入以下指令以确保Nginx能够自行运转。
sudo systemctl enable nginx
输入下列指令开始运行Nginx:
sudo systemctl start nginx
查看其运行状态:
systemctl status nginx
生成:
nginx.service – A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2016-06-04 08:31:23 EDT; 1 day 2h ago
Main PID: 298 (nginx)
CGroup: /system.slice/nginx.service
├─298 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
└─299 nginx: worker process
由此可见Nginx能够确保运行。
在浏览器中的地址栏输入Ubuntu 16.04 LTS服务器的公共IP地址,你将看到“Welcome to nginx!”页面,如此表明Nginx网络服务器正常运行。
执行以下指令可以撤回Ubuntu 16.04服务器的公共网址。
sudo apt-get install curl
curl http://icanhazip.com
若你要在Ubuntu 16.04云储存中安装LEMP,在地址栏输入127.0.0.1 或localhost。最后,我们将输入www-data使网站目录根存于Nginx用户名下。
sudo chown www-data /usr/share/nginx/html –R
步骤三:安装Maria DB
Maria DB是MySQL意料之外的收获。他是由MySQL团队之前的成员开发,他担心Oracle把MySQL变成闭源产品。许多Linux的分销商(Arch Linux, Fedora 等)、公司、集团(Google, Wikipedia)都已转移到Maria DB。所以我们选择安装Maria DB而不是MySQL。
sudo apt-get install mariadb-server mariadb-client
安装完成后,Maria DB将自动运行,输入systemctl指令检查其运行状态。
systemctl status mysql
自动生成:
mysql.service – LSB: Start and stop the mysql database server daemon
Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
Active: active (running) since Wed 2016-04-20 18:52:01 EDT; 1min 30s ago
Docs: man:systemd-sysv-generator(8)
若它没有运行,输入以下指令开启运转:
sudo systemctl start mysql
为了确保Ubuntu 16.04系统重启的时候Maria DB能够自动运行,执行以下命令:
sudo systemctl enable mysql
运行开机自检装置安全性脚本。
sudo mysql_secure_installation
进入页面需要密码时,鉴于你还没有设置密码,请按Enter键。接着,输入y设置Maria DB的目录根密码。
下一步,按Enter键回答余下的问题。这将移除匿名用户,使远程目录根登录失败,测试数据库失效。这一步是Maria DB数据库安全性的基本要求。
步骤四:安装PHP7
输入下面的指令安装PHP7及PHP extensions。
sudo apt-get install php7.0-fpm php7.0-mbstring php7.0-xml php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl
内容管理系统(CMS)如WordPress普遍需要安装PHP extensions。如你的配置中没有安装php7.0-xml,内容管理系统的某个网站页面就会出现空白,或你会在Nginx error日志分析中发现误差如下:
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function xml_parser_create()
安装PHP extensions以确保你的内容管理系统(CMS)正常运行。
开始安装php7.0-fpm。
sudo systemctl start php7.0-fpm
检查运行状态:
user@www:~$ systemctl status php7.0-fpm
php7.0-fpm.service – The PHP 7.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor pre
set: enabled)
Active: active (running) since Wed 2016-04-20 19:21:05 EDT; 2s ago
步骤五:创建一个Nginx服务区文件夹
在/etc/nginx/conf.d/目录下创建一个未执行命令(default)服务区文件夹。
sudo nano /etc/nginx/conf.d/default.conf
将下列命令归入文件夹。在“12.34.56.78”字样处重置IP地址。
server {
listen 80;
server_name 12.34.56.78;
root /usr/share/nginx/html/;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
保存并关闭文件夹。测试你的nginx配置,重新加载。
sudo nginx -t
sudo systemctl reload nginx
步骤六:测试PHP
通过执行下列命令测试PHP7的cli版本:
user@www:~$ php –version
PHP 7.0.4-7ubuntu2 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
测试PHP-FPM,首先在网页目录根下创建一个test.php文件夹。
sudo nano /usr/share/nginx/html/test.php
把下列PHP编码粘贴到文件夹中
<?php phpinfo(); ?>
保存后关闭文件夹。在浏览器地址栏中输入server-ip-address/test.php。在sever-ip-address位置上输入正式的IP地址。你若看到服务器上的PHP信息,说明PHP运行顺利。
出于对服务器安全性的考虑,最好删除test.php文件夹。
恭喜你!你已成功在Ubuntu 16.04 LTS Xenial Xerus上安装了Nginx, MariaDB 及 PHP7 (LEMP stack)。
欢迎评论、提问以及建议。若觉得这份文章有用,请分享到社交媒体上让你的朋友也看看!敬请期待更多的Linux教程。
发表回复