阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 17.10上安装LEMP环境(Nginx,MariaDB,PHP7.1)

441次阅读
没有评论

共计 6806 个字符,预计需要花费 18 分钟才能阅读完成。

本教程将向您展示如何在 Ubuntu 17.10 上安装 Nginx,MariaDB 和 PHP7.1(LEMP)。您可以在 VPS(虚拟专用服务器)上或本地 Ubuntu 17.10 计算机上按照本教程进行操作。PHP7.1 包含在 Ubuntu 17.10 中,并且比 PHP7.0 稍微提升了性能。

第 1 步:更新软件包

在安装 LEMP 环境之前,更新存储库和软件包是一个好的习惯。在你的 Ubuntu 17.10 操作系统上运行以下命令。

sudo apt update

sudo apt upgrade

第 2 步:安装 Nginx Web 服务器

Nginx 是一款高性能的网络服务器,近来非常流行。它也可以用作反向代理。输入此命令来安装 Nginx Web 服务器。

sudo apt install nginx

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

安装之后,我们可以通过运行以下命令来启动 Ubuntu 时自动启动 Nginx。…

sudo systemctl enable nginx

然后用这个命令启动 Nginx:

sudo systemctl start nginx

现在检查它的状态。

systemctl status nginx

输出:

linuxidc@linuxidc:~$ 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: en
  Active: active (running) since Sat 2017-12-16 13:10:08 CST; 1min 6s ago
    Docs: man:nginx(8)
 Main PID: 23788 (nginx)
    Tasks: 5 (limit: 4915)
  CGroup: /system.slice/nginx.service
          ├─23788 nginx: master process /usr/sbin/nginx -g daemon on; master_pr
          ├─23789 nginx: worker process
          ├─23790 nginx: worker process
          ├─23791 nginx: worker process
          └─23792 nginx: worker process

“enabled”表示启动时自动启动已启用,我们可以看到 Nginx 正在运行。注意上面的命令运行后不会立即退出。您需要按“q”使其退出。

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

检查 Nginx 版本。

nginx -v

输出:

nginx version: nginx/1.12.1 (Ubuntu)

现在在浏览器地址栏中输入你的 Ubuntu 17.10 服务器的公共 IP 地址。您应该看到“Welcome to Nginx”网页,这意味着 Nginx Web 服务器运行正常。如果要在本地 Ubuntu 17.10 计算机上安装 LEMP,请在浏览器地址栏中键入 127.0.0.1 或 localhost。

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

最后,我们需要将 www-data(Nginx 用户)作为 Web 根目录的所有者。默认情况下,它由 root 用户拥有。

sudo chown www-data:www-data /usr/share/nginx/html -R

第 3 步:安装 MariaDB 数据库服务器

MariaDB 是 MySQL 的替代品。它是由 MySQL 团队的前成员开发的,他们担心 Oracle 可能会把 MySQL 变成一个封闭的产品。输入以下命令在 Ubuntu 17.10 上安装 MariaDB。

sudo apt install mariadb-server mariadb-client

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

安装之后,MariaDB 服务器应该被自动识别。使用 systemctl 来检查它的状态。

systemctl status mariadb

输出:

● mariadb.service – MariaDB database server
  Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset:
  Active: active (running) since Sat 2017-12-16 13:18:04 CST; 1min 51s ago
 Main PID: 26260 (mysqld)
  Status: “Taking your SQL requests now…”
    Tasks: 26 (limit: 4915)
  CGroup: /system.slice/mariadb.service
          └─26260 /usr/sbin/mysqld

12 月 16 13:18:02 linuxidc systemd[1]: Starting MariaDB database server…
12 月 16 13:18:03 linuxidc mysqld[26260]: 2017-12-16 13:18:03 139963505346816 [No
12 月 16 13:18:04 linuxidc systemd[1]: Started MariaDB database server.
linuxidc@linuxidc:~$ sudo systemctl start mariadb

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

如果没有运行,请使用以下命令启动它:

sudo systemctl start mariadb

要启用 MariaDB 在引导时自动启动,请运行

sudo systemctl enable mariadb

现在运行安装安全脚本。

sudo mysql_secure_installation

当它要求您输入 MariaDB root 密码时,请按下 Enter 键,因为根密码尚未设置。然后输入 y 以设置 MariaDB 服务器的 root 密码。

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

接下来,您可以按 Enter 回答所有剩余的问题,这些问题将删除匿名用户,禁用远程 root 登录并删除测试数据库。这一步是 MariaDB 数据库安全的基本要求。(请注意,Y 是大写,这意味着按 Enter 键和输入 Y 是一样的。)

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

默认情况下,Ubuntu 上的 MaraiDB 软件包使用 unix_socket 对用户登录进行身份验证,这意味着您可以使用操作系统的用户名和密码登录到 MariaDB 控制台。所以你可以运行以下命令来登录而不提供 MariaDB 的 root 密码。

sudo mariadb -u root

要退出,请运行

exit;

检查 MariaDB 服务器版本信息。

mariadb --version

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

正如你所看到的,我们已经安装了 MariaDB 10.1.25。

mariadb Ver 15.1 Distrib 10.1.25-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

第 4 步:安装 PHP7.1

PHP7.1 包含在 Ubuntu 17.10 版本库中,与 PHP7.0 相比,性能略有提升。输入以下命令来安装 PHP7.1 和一些常见的扩展。

sudo apt install php7.1 php7.1-fpm php7.1-mysql php-common php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-readline php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

内容管理系统(CMS)通常需要 PHP 扩展,比如 WordPress。例如,如果你的安装缺少 php7.1-xml,那么你的一些 WordPress 站点页面可能是空白的,你可以在 Nginx 错误日志中找到一个错误:

PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create()

安装这些 PHP 扩展可确保您的 CMS 顺利运行。现在开始 php7.1-fpm。

sudo systemctl start php7.1-fpm

在系统启动时启用自动启动。

sudo systemctl enable php7.1-fpm

检查状态:

systemctl status php7.1-fpm

示例输出:

● php7.1-fpm.service – The PHP 7.1 FastCGI Process Manager
  Loaded: loaded (/lib/systemd/system/php7.1-fpm.service; enabled; vendor prese
  Active: active (running) since Sat 2017-12-16 13:28:21 CST; 2min 54s ago
    Docs: man:php-fpm7.1(8)
 Main PID: 5275 (php-fpm7.1)
  Status: “Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se
    Tasks: 3 (limit: 4915)
  CGroup: /system.slice/php7.1-fpm.service
          ├─5275 php-fpm: master process (/etc/php/7.1/fpm/php-fpm.conf)
          ├─5276 php-fpm: pool www
          └─5277 php-fpm: pool www

12 月 16 13:28:21 linuxidc systemd[1]: Starting The PHP 7.1 FastCGI Process Manag
12 月 16 13:28:21 linuxidc systemd[1]: Started The PHP 7.1 FastCGI Process Manage

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

第 5 步:创建一个 Nginx 虚拟主机

Nginx 服务器就像 Apache 中的一个虚拟主机。我们不会使用默认的服务器块,因为它不足以运行 PHP 代码,如果我们修改它,它变得一团糟。因此,通过运行以下命令来删除启用了站点的目录中的默认符号链接。(它仍然是可用的/etc/nginx/sites-available/default

sudo rm /etc/nginx/sites-enabled/default

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

然后在 /etc/nginx/conf.d/ 目录下创建一个全新的服务器文件。

sudo nano /etc/nginx/conf.d/default.conf

将以下文本粘贴到文件中。将 192.168.1.108 替换为您的实际服务器 IP 地址。

server {
  listen 80;
  listen [::]:80;
  server_name 192.168.1.108;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {try_files $uri $uri/ /index.php;}

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {root /usr/share/nginx/html;}

  location ~ \.php$ {fastcgi_pass unix:/run/php/php7.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  location ~ /\.ht {deny all;}
}

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

保存并关闭文件。然后测试 Nginx 配置。

sudo nginx -t

如果测试成功,请重新加载 Nginx。

sudo systemctl reload nginx

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

第 6 步:测试 PHP

要使用 Nginx Web 服务器测试 PHP-FPM,我们需要在文档根目录下创建一个 info.php 文件。

sudo nano /usr/share/nginx/html/info.php

将以下 PHP 代码粘贴到文���中。

<?php phpinfo(); ?>

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

保存并关闭文件。现在在浏览器地址栏中输入 server-ip-address/info.php。用您的实际 IP 替换 sever-ip-address。如果您在本地计算机上按照本教程进行操作,请输入 127.0.0.1/info.php 或 localhost/info.php。

你应该看到你的服务器的 PHP 信息。这意味着 PHP 脚本可以使用 Nginx Web 服务器正常运行。

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

如何安装 PHP7.2

PHP7.2 是 PHP 的最新稳定版本,于 2017 年 11 月 30 日发布,与 PHP7.1 相比,性能有所提升。我们可以从 Ondrej Sury 添加 PPA 来在 Ubuntu 17.10 上安装 PHP7.2。那个人也是 Certbot PPA 的维护者。

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt update

然后我们可以使用下面的命令安装 PHP7.2 和通用扩展。

sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

现在启动 PHP7.2-FPM。

sudo systemctl start php7.2-fpm

在系统启动时启用自动启动。

sudo systemctl enable php7.2-fpm

检查其状态:

systemctl status php7.2-fpm

在 Nginx 中使用 PHP7.2-FPM

为了使 Nginx 使用 PHP7.2-FPM 而不是 PHP7.1-FPM,我们需要编辑 Nginx 服务器文件。

sudo nano /etc/nginx/conf.d/default.conf

找到下面的行。

fastcgi_pass unix:/run/php/php7.1-fpm.sock;

将 php7.1-fpm 更改为 php7.2-fpm。

fastcgi_pass unix:/run/php/php7.2-fpm.sock;

保存并关闭文件。然后重新加载 Nginx 以使更改生效。

sudo systemctl reload nginx

如果你刷新 server-ip-address/info.php 页面,你会看到 Nginx 正在使用 PHP7.2-FPM。

PHP7.1 可以和 PHP7.2 共存。如果你不想使用 PHP7.1,那么你可以删除它。请注意,某些 Web 应用程序可能与 NextCloud 12 等 PHP7.2 不兼容。在我的测试中,PHP7.2 下 WordPress 运行良好。

恭喜!您已经在 Ubuntu 17.10 上成功安装了 Nginx,MariaDB 和 PHP7。为了您的服务器的安全性,您应该立即删除 info.php 文件以防止窥探。

sudo rm /usr/share/nginx/html/info.php

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)

使用 Nginx,MariaDB,PHP7.1(LEMP)在 Ubuntu 17.10 上安装 WordPress  见  http://www.linuxidc.com/Linux/2017-12/149582.htm

OK!我希望这个教程帮助你在 Ubuntu 17.10 上安装 LEMP 环境。与往常一样,如果你发现这篇文章有用,请分享给更多的朋友。

完整 PDF 文档可以到 Linux 公社资源站下载:

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2017 年资料 /12 月 /18 日 /Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)/

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

 更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149581.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6806字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7995106
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流! 大家好,我是星哥,今天才思枯竭,不写技术文章了!来吐槽一下 CSDN。...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...