如何在 CentOS 7 上安装 Nginx 1.15、MariaDB 10 和 PHP 7
在本文中,我们将解释如何安装 LEMP 堆栈(Linux、Nginx、MariaDB、 PHP)以及使用 yum 和 dnf 软件包的 RHEL/CentOS 7/6 和 Fedora 26-29 服务器上的 PHP-FPM经理。
在此过程中,我们将安装并启用 Epel、Remi、Nginx 和 MariaDB 存储库,以便能够安装这些软件包的最新版本。
另请阅读:在 CentOS 7 上安装 Apache、MySQL 8 或 MariaDB 10 和 PHP 7
第 1 步:安装 EPEL 和 Remi 存储库
EPEL(Extra Packages for Enterprise Linux)是一个基于社区的存储库,为基于 RHEL 的 Linux 发行版提供附加软件包。
Remi 是一个存储库,您可以在其中找到最新版本的 PHP 堆栈(全功能),以便安装在 Fedora 和 Enterprise Linux 发行版中。
在 RHEL/CentOS 7 上
yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
------ For RHEL 7 Only ------
subscription-manager repos --enable=rhel-7-server-optional-rpms
在 RHEL/CentOS 6 上
yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
------ For RHEL 6 Only ------
subscription-manager repos --enable=rhel-6-server-optional-rpms
在 Fedora 24-29 上
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]
第 2 步:安装 Nginx 和 MariaDB 存储库
仅在 RHEL 和 CentOS 发行版中才需要 Nginx 存储库。创建一个名为 /etc/yum.repos.d/nginx.repo 的文件,并向其中添加以下行。
对于 RHEL 7/6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
enabled=1
对于 CentOS 7/6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
要启用 MariaDB 存储库,请创建一个名为 /etc/yum.repos.d/mariadb.repo 的文件,其中包含以下内容:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
第四步:安装Ngnix和MariaDB
Nginx (Engine X) 是开源、健壮、轻量级和高性能的 Web 服务器、反向代理服务器以及 HTTP、SMTP、POP3 和 IMAP 协议的邮件代理服务器。有关更多详细信息,请访问 http://wiki.nginx.org/Overview。
MariaDB 是著名的 MySQL 的一个分支,MySQL 是世界上最流行的关系数据库管理系统 (RDBMS) 之一。它完全由社区开发,因此旨在保持 FOSS 并与 GPL 兼容。
要安装 Ngnix 和 MariaDB,请运行以下命令。
----------- Installing on RHEL/CentOS 7/6 -----------
yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
----------- Installing on Fedora -----------
dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
步骤 3:使用 Remi 存储库安装 PHP
PHP(超文本预处理器)是一种免费且开源的服务器端脚本语言,最适合 Web 开发。它可用于为网站生成动态网页,最常见于 *nix 服务器中。 PHP 的优点之一是它可以通过使用各种模块轻松扩展。
要安装 PHP,首先需要通过安装 yum-utils
来启用 Remi 存储库,这是一组用于管理 yum 存储库和软件包的有用程序的集合。
yum install yum-utils
安装后,您可以使用 yum-utils 提供的 yum-config-manager 来启用 Remi 存储库作为安装不同 PHP 版本的默认存储库,如图所示。
例如,要安装PHP 7.x版本,请使用以下命令。
------------- On CentOS & RHEL -------------
yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0]
yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1]
yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2]
yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3]
------------- On Fedora -------------
dnf --enablerepo=remi install php70 [Install PHP 7.0]
dnf --enablerepo=remi install php71 [Install PHP 7.1]
dnf --enablerepo=remi install php72 [Install PHP 7.2]
dnf --enablerepo=remi install php73 [Install PHP 7.3]
接下来,我们将安装以下所有 PHP 模块。
------ On RHEL/CentOS 7/6 ------
yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
------ On Fedora ------
dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
第6步:停止并禁用Apache服务
默认情况下,Apache 和 Nginx 侦听同一端口 (TCP 80)。因此,如果您的服务器中安装了 Apache,您需要停止它并禁用/屏蔽它(禁用的更强版本,将服务链接到 /dev/null)才能使用 Nginx ,或者如果您不打算再使用它,也可以将其删除。
systemctl stop httpd
systemctl disable httpd
or
systemctl mask httpd
第 7 步:启动/停止 Nginx、MariaDB 和 PHP-FPM
----------- Enable Nginx, MariaDB and PHP-FPM on Boot -----------
systemctl enable nginx
systemctl enable mariadb
systemctl enable php-fpm
----------- Start Nginx, MariaDB and PHP-FPM -----------
systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
第8步:配置Nginx和PHP-FPM
现在让我们在 /srv/www/ 下为您的网站(虚拟主机或 Nginx 中称为服务器块)创建一个目录结构。在此示例中,我们将使用 www.howtoing.com
,但如果您愿意,可以随意选择其他域和主目录。
mkdir -p /srv/www/tecmint/public_html
mkdir /srv/www/tecmint/logs
chown -R nginx:nginx /srv/www/tecmint
第9步:配置Nginx虚拟主机目录
如您所知,从同一台计算机运行多个站点的能力是主要 Web 服务器的显着特征之一。现在让我们继续在 /etc/nginx 下创建目录来存储服务器块(在 Apache 中称为虚拟主机)。
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
以下代码行必须在关闭 /etc/nginx/nginx.conf 中的 http 块之前插入,这将确保 /etc/nginx/sites-enabled 中的配置文件Nginx 运行时将考虑 目录:
## Load virtual host conf files. ##
include /etc/nginx/sites-enabled/*;
要为 howtoing.com
创建服务器块,请将以下代码行添加到 /etc/nginx/sites-available/howtoing (当您输入启动您的首选文本编辑器的完整路径)。这是一个基本的虚拟主机配置文件。
server {
listen 80 default;
server_name tecmint;
access_log /srv/www/tecmint/logs/access.log;
error_log /srv/www/tecmint/logs/error.log;
root /srv/www/tecmint/public_html;
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
“激活”虚拟主机的过程包括创建一个从howtoing
虚拟主机的定义到/etc/nginx/sites-enabled 的符号链接。 。
ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
为了实际应用我们所做的更改,我们现在需要重新启动 Nginx。有时在执行此操作之前检查配置文件是否存在语法错误很有用:
nginx -t
systemctl restart nginx
systemctl status nginx
要访问新创建的虚拟主机,您需要将以下行添加到/etc/hosts中作为域名解析的基本方法。
192.168.0.18 linux教程 linux教程
第10步:测试Nginx、MySQL、PHP和PHP-FPM
让我们继续使用测试 PHP 的经典方法。在 /srv/www/howtoing/public_html/ 下创建一个名为 test.php
的文件,并向其中添加以下代码行。
phpinfo()
函数显示有关当前 PHP 安装的大量信息:
<?php
phpinfo();
?>
现在将您的 Web 浏览器指向 http://howtoing/test.php
并检查已安装的模块和附加软件是否存在:
恭喜!您现在已经安装了一个可以正常工作的LEMP堆栈。如果事情没有按预期进行,请随时使用下面的表格与我们联系。也欢迎提出问题和建议。