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

第1步:更新软件包

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

sudo apt update

sudo apt upgrade

第2步:安装Nginx Web服务器

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

sudo apt install nginx

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

sudo systemctl enable nginx

然后用这个命令启动Nginx:

sudo systemctl start nginx

现在检查它的状态。

systemctl status nginx

输出:

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

检查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。

最后,我们需要将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

安装之后,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

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

sudo systemctl start mariadb

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

sudo systemctl enable mariadb

现在运行安装安全脚本。

sudo mysql_secure_installation

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

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

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

sudo mariadb -u root

要退出,请运行

exit;

检查MariaDB服务器版本信息。

mariadb --version

正如你所看到的,我们已经安装了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

内容管理系统(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

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

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

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

然后在/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;
  }
}

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

sudo nginx -t

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

sudo systemctl reload nginx

第6步:测试PHP

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

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

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

<?php phpinfo(); ?>

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

如何安装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

完整PDF文档可以到主机宝贝资源站下载:

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

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/210010.html<

(0)
运维的头像运维
上一篇2025-04-09 17:52
下一篇 2025-04-09 17:54

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注