如何在 CentOS 6 上安装 LEMP

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

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

先决条件

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

在 CentOS 6 上安装 LEMP

步骤 1. 首先,您需要在系统上启用 EPEL 存储库并确保所有软件包都是最新的。

## RHEL/CentOS 6 64-Bit ## wget https://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm
## RHEL/CentOS 6 32-Bit ## wget https://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm

步骤 2. 安装 Nginx。

我们将使用 yum 安装 Nginx,使用以下命令:

yum update yum install nginx

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

service nginx start  chkconfig nginx on

您可以通过打开您喜欢的 Web 浏览器并输入 URL https://your-server’s-address 来验证 Nginx 是否真的在运行,您需要打开端口 80 以使您的 Web 服务器可以访问:

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /etc/rc.d/init.d/iptables save

步骤 3. 配置 Nginx 和默认虚拟主机。

最后,我们需要配置我们的 Nginx 虚拟主机。 这比配置简单得多 Apache. 看看下面的配置,它与我们的默认配置略有不同,但我将在下面解释更改:

nano /etc/nginx/conf.d/default.conf
# The default server # server {     listen       80;     server_name mydomain.com;       location / {         root   /var/www/html;         index index.php  index.html index.htm;     }       error_page  404              /404.html;     location = /404.html {         root   /usr/share/nginx/html;     }       error_page   500 502 503 504  /50x.html;     location = /50x.html {         root   /usr/share/nginx/html;     }       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000     #     location ~ .php$ {         root           /var/www/html;         fastcgi_pass   127.0.0.1:9000;         fastcgi_index  index.php;         fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;         include        fastcgi_params;     }

步骤 4. 安装 MySQL。

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

yum install mysql mysql-server

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

chkconfig --levels 235 mysqld on service mysqld start

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

mysql_secure_installation

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

mysql -u root -p

步骤 5. 安装 PHP。

最后,运行以下命令来安装 PHP 以及其他必备模块:

yum install php php-common php-fpm php-mysql

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

php-bcmath          =>     A module for PHP applications 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         =>     Human Language and Character Encoding Support php-gd              =>     A module for PHP applications using the gd graphics library php-imap            =>     A module for PHP applications that use IMAP 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-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-apc        =>     APC cache optimizing PHP intermediate code php-pecl-memcache   =>     Extension to work with the Memcached caching daemon php-pgsql           =>     A PostgreSQL database module for PHP php-process         =>     Modules for PHP scripts using system process interfaces php-pspell          =>     A module for PHP applications using pspell interfaces php-recode          =>     A module for PHP applications 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-tidy            =>     Standard PHP module provides tidy library support php-xml             =>     A module for PHP applications which use XML php-xmlrpc          =>     A module for PHP applications which use the XML-RPC protocol php-zts             =>     Thread-safe PHP interpreter for use with the Apache HTTP Server

配置 PHP-FPM:

nano /etc/php-fpm.d/www.conf

用 Nginx 替换用户和组的值,如下所示:

; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ;       will be used. ; RPM: apache Choosed to be able to access some dir as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx

重启 Nginx 使所有更改生效:

service nginx restart service php-fpm restart

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

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

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