如何在 CentOS 7 上安装 LEMP

在本教程中,我们将向您展示如何在 CentOS 7 上安装 LEMP。对于那些不知道的人,LEMP 软件堆栈是一组开源软件,通常安装在一起以使服务器能够托管动态网站和网络应用程序。 这个术语实际上是代表 Linux 操作系统的首字母缩写词,用 Nginx 网络服务器(它取代了 Apache LAMP 堆栈的组件)。 站点数据存储在 MySQL 数据库中(使用 MariaDB),动态内容由 PHP.

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单。 我将向您展示在 CentOS 7 服务器上逐步安装 LEMP(Linux、Nginx、MariaDB 和 PHP)。

先决条件

  • 运行以下操作系统之一的服务器:CentOS 7。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一种 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 CentOS 7 上安装 LEMP

步骤 1. 首先,确保所有软件包都是最新的。

yum -y update

步骤 2. 在 CentOS 7 中安装和配置 NGINX。

Nginx 在 CentOS 7 官方存储库中尚不可用,因此我们必须通过发出以下命令来添加/安装 Nginx yum 存储库:

rpm -Uvh https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx

启动 Nginx 并将其添加到系统启动时自动启动,使用:

systemctl restart nginx systemctl enable nginx

您可以通过打开您喜欢的 Web 浏览器并输入 URL https://your-server’s-address 来验证 Nginx 是否真的在运行,如果已安装,那么您将看到以下内容:

步骤 3. 配置 Nginx Web 服务器。

假设您有一个域 mydomain.com,并且您喜欢使用它来托管基于 PHP 的 Web 应用程序 /var/www/mydomain.com 像WordPress,Joomla。 要为 mydomain.com 设置 Nginx 服务请求,并在 /var/www/mydomain.com 中提供 PHP 脚本,您必须在 /etc/nginx/conf.d/mydomain.com.conf 看起来像这样:

### nano /etc/nginx/conf.d/mydomain.com.conf  server {     server_name mydomain.com;     listen 80;     root /var/www/mydomain.com;     access_log /var/log/nginx/mydomain.com-access.log;     error_log /var/log/nginx/mydomain.com-error.log;     index index.php;      location / {         try_files  $uri $uri/ /index.php?$args;     }      location ~* .(jpg|jpeg|gif|css|png|js|ico|html)$ {         access_log off;         expires max;     }     location ~ /.ht {         deny  all;     }     location ~ .php {         try_files $uri = 404;         fastcgi_pass 127.0.0.1:9000;         fastcgi_index index.php;         include /etc/nginx/fastcgi_params;         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;     } }

使用以下命令测试并重新启动 Nginx:

nginx -t systemctl restart nginx

步骤 4. 在 CentOS 7 上安装和配置 PHP。

使用以下命令在 CentOS 7 上安装 PHP 以开始安装:

yum install php-fpm php-mysql php-mcrypt

您可能想要安装应用程序所需的其他一些 PHP 扩展。 以下是可用 PHP 模块的列表:

php-bcmath          : A module for PHP applications for using the bcmath library php-cli             : Command-line interface for PHP php-common          : Common files for PHP php-dba             : A database abstraction layer module for PHP applications php-devel           : Files needed for building PHP extensions php-embedded        : PHP library for embedding in applications php-enchant         : Enchant spelling extension for PHP applications php-fpm             : PHP FastCGI Process Manager php-gd              : A module for PHP applications for using the gd graphics library php-intl            : Internationalization extension for PHP applications php-ldap            : A module for PHP applications that use LDAP php-mbstring        : A module for PHP applications which need multi-byte string handling php-mysql           : A module for PHP applications that use MySQL databases php-mysqlnd         : A module for PHP applications that use MySQL databases php-odbc            : A module for PHP applications that use ODBC databases php-pdo             : A database access abstraction module for PHP applications php-pear.noarch     : PHP Extension and Application Repository framework php-pecl-memcache   : Extension to work with the Memcached caching daemon php-pgsql           : A PostgreSQL database module for PHP php-process         : Modules for PHP script using system process interfaces php-pspell          : A module for PHP applications for using pspell interfaces php-recode          : A module for PHP applications for using the recode library php-snmp            : A module for PHP applications that query SNMP-managed devices php-soap            : A module for PHP applications that use the SOAP protocol php-xml             : A module for PHP applications which use XML php-xmlrpc          : A module for PHP applications which use the XML-RPC protocol

重启 Nginx 使所有更改生效:

systemctl restart nginx systemctl restart php-fpm systemctl enable php-fpm

要测试 PHP,请创建一个名为 info.php 的测试文件,其内容如下。 Save 该文件,然后浏览到它以查看 PHP 是否正常工作:

nano /var/www/html/info.php
<?php phpinfo(); ?>

步骤 5. 在 CentOS 7 上安装和配置 MariaDB。

使用以下命令安装 MariaDB 以开始安装:

yum install mariadb mariadb-server mysql

之后将其添加到您的系统启动中并使用以下命令启动 MariaDB 服务器:

systemctl restart mariadb systemctl status mariadb systemctl enable mariadb

默认情况下,MariaDB 未加固。 您可以使用 mysql_secure_installation 脚本保护 MariaDB。 您应该仔细阅读下面的每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录、删除测试数据库和访问安全 MySQL:

mysql_secure_installation

要登录 MariaDB,请使用以下命令(请注意,它与登录 MySQL 数据库的命令相同):

mysql -u root -p

步骤 6. 配置 IPTables 或防火墙。

firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload

恭喜! 您已成功安装 LEMP 堆栈。 感谢您使用本教程在 CentOS 7 系统中安装 LEMP(Linux Nginx、MariaDB 和 PHP)。 如需更多帮助或有用信息,我们建议您查看官方 Nginx、MariaDB 和 PHP 网站。