在本教程中,我们将向您展示如何在 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 网站。