在OpenSUSE中安装LEMP - Nginx,PHP,MariaDB和PhpMyAdmin

本教程将指导您如何在OpenSuse服务器/桌面版本上安装Nginx,MariaDB,PHP,PHP-FPM和PhpMyAdmin的LEMP。

LEMPLinuxEngine-xMySQLPHP是由安装在Linux操作系统上的开源软件组成的软件包,用于运行由Nginx HTTP服务器和MySQL / MariaDB数据库管理系统提供支持的基于PHP的Web应用程序。

本教程将指导您如何在OpenSuse服务器/桌面版本上安装NginxMariaDBPHPPHP-FPMPhpMyAdminLEMP

安装Nginx HTTP Server

Nginx是一个快速可靠的HTTP和代理服务器,可以处理更高的HTTP请求负载。 它使用异步事件驱动方法来处理请求,其模块化事件驱动架构可在高负载下提供更可预测的性能。

要在OpenSuse上安装Nginx ,请运行以下命令。

$ sudo zypper install nginx
在OpenSuse上安装Nginx

在OpenSuse上安装Nginx

安装Nginx后 ,您可以立即启动该服务,然后启用它以在启动时自动启动并通过运行以下命令验证Nginx的状态。

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status nginx
启动,启用和验证Nginx

启动,启用和验证Nginx

另请参阅每个Linux用户必须知道的10个最常用的Nginx命令

此时,Nginx Web服务器应该已启动并运行,您还可以使用netstat命令验证状态,如图所示。

$ sudo netstat -tlpn | grep nginx
检查Nginx端口监听

检查Nginx端口监听

现在,我们需要测试Nginx安装是否正常工作。 与其他Linux发行版不同,在openSUSE下, Nginx在Web根文件夹中没有标准的index.html文档。 我们需要在根网站目录"/srv/www/htdocs"下创建一个新的index.html文件,如图所示。

$ echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html
创建Nginx索引文件

创建Nginx索引文件

如果安装了firewalld ,则需要打开端口80443以允许防火墙上的Web通信。

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload
在OpenSuse上打开Nginx端口

在OpenSuse上打开Nginx端口

接下来,打开Web浏览器并导航到地址http://localhost并验证Nginx页面。

检查Nginx页面

检查Nginx页面

安装MariaDB数据库服务器

MariaDBMySQL关系数据库管理系统的免费开源分支。 它由MySQL的原始开发人员开发,旨在保持开源。 MariaDB具有快速,可扩展和强大的功能,拥有丰富的存储引擎生态系统,插件和许多其他工具,使其适用于各种用例。

要在OpenSuse上安装MariaDB ,请运行以下命令。

$ sudo zypper install mariadb mariadb-client 
在OpenSuse中安装MariaDB

在OpenSuse中安装MariaDB

接下来,立即启动MariaDB服务,然后使其在引导时自动启动并检查其状态。

$ sudo systemctl start mariadb 
$ sudo systemctl enable mariadb 
$ sudo systemctl status mariadb 
在OpenSuse中启动MariaDB服务

在OpenSuse中启动MariaDB服务

本节中的下一个关键步骤是保护MariaDB服务器安装。 因此,运行MariaDB包附带的安全脚本,如图所示。

注意 :强烈建议对生产中的所有MariaDB服务器运行MariaDB安全脚本及其所有部分。

$ sudo mysql_secure_installation 

运行脚本后,请仔细阅读每个步骤的说明。 您应该设置root用户密码,删除匿名用户,禁用远程root访问权限,删除测试数据库并访问它,最后重新加载权限表。

在OpenSuse中安全保存MariaDB

在OpenSuse中安全保存MariaDB

安装和配置PHP和PHP-FPM

PHP-FPMPHP FastCGI Process Manager的简称)是PHP的另一种FastCGI守护进程,具有一些附加功能,旨在处理高负载。 它维护池(可以响应PHP请求的工作者 )来完成此任务。 重要的是,对于多用户PHP环境,它比传统的基于CGI的方法(如SUPHP )更快。

要安装PHPPHP-FPM以及所需的模块,请运行以下命令。

$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring
在OpenSuse中安装PHP和PHP-FPM

在OpenSuse中安装PHP和PHP-FPM

在我们继续启动PHP-FPM服务之前,我们需要从安装期间提供的默认文件中创建所需的配置文件,并为服务配置服务。

$ sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
$ sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

然后打开php-fpm.conf主配置文件进行编辑。

$ sudo vim /etc/php7/fpm/php-fpm.conf 

如图所示取消注释第24行的以下行。

error_log = log/php-fpm.log

保存并关闭文件。

配置PHP FPM

配置PHP FPM

接下来,我们需要在www.conf配置文件中为已配置的池定义正确的设置。

$ sudo vim /etc/php7/fpm/php-fpm.d/www.conf

首先,将进程的Unix所有者和组所有者配置为Nginx用户和组。 通过将用户和组参数的值从nobody更改为nginx

user = nginx
group = nginx

现在将更改保存到文件并退出。

设置Nginx用户和组

设置Nginx用户和组

此外,还有一个重要的配置要执行,它可以在/etc/php/cli/php.ini文件中保护PHP-FPM

$ sudo vim /etc/php7/cli/php.ini

搜索该行;cgi.fix_pathinfo=1并将其更改为。

cgi.fix_pathinfo=0
配置PHP-FPM CGI

配置PHP-FPM CGI

保存文件中的更改并退出。

接下来,立即启动PHP-FPM服务,然后使其在引导时自动启动并检查其状态。

$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm
$ sudo systemctl status php-fpm
启动PHP-FPM服务

启动PHP-FPM服务

配置Nginx以使用PHP-FPM

此时,我们需要在默认的Nginx配置文件中配置Nginx以使用PHP-FPM

$ sudo vim /etc/nginx/nginx.conf

然后查找以下部分,并将index.php添加到预期索引文件列表中。

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

为PHP-FPM配置Nginx

为PHP-FPM配置Nginx

还可以找到以下部分(应该注释掉)并取消注释。 此部分用于将PHP脚本传递给监听127.0.0.1:9000的 FastCGI服务器。

location ~ \.php$ { 
       root           /srv/www/htdocs/; 
       fastcgi_pass   127.0.0.1:9000; 
       fastcgi_index  index.php; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       include        fastcgi_params; 
       }
为FastCGI配置PHP

为FastCGI配置PHP

保存文件中的更改并退出。

测试Nginx和PHP-FPM

下一步是通过在DocumentRoot目录下创建一个新的PHP测试文件来测试Nginx是否与PHP-FPM一起运行良好,如图所示。

$ echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php

现在我们需要在继续重启服务之前检查Nginx配置是否正确如下。

$ sudo nginx -t
检查Nginx配置是否有错误

检查Nginx配置是否有错误

如果Nginx配置语法没问题,请继续并重新启动NginxPHP-FPM服务以获取最近的更改。

$ sudo systemctl restart nginx php-fpm

现在打开Web浏览器并导航到地址http://localhost/info.php以验证PHP配置,如以下屏幕截图所示。

验证PHP信息

验证PHP信息

安装和配置PhpMyAdmin

phpMyAdmin是一个免费的,简单易用的流行工具,用PHP编写,专为通过Web 管理MySQL服务器而构建。 它支持MySQLMariaDB上的各种操作。

要在OpenSuse上安装phpMyAdmin ,请运行以下命令。

$ sudo zypper install phpMyAdmin
在OpenSuse中安装PhpMyAdmin

在OpenSuse中安装PhpMyAdmin

安装完成后,创建一个新的vhost配置文件以访问phpMyAdmin ,如图所示。

$ sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

将以下配置添加到文件中。

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

   location / { 
       try_files $uri /index.php?$args; 
   } 

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

保存更改并关闭文件。 然后使用以下命令重新启动Nginx服务。

$ sudo systemctl restart nginx

现在转到您的Web浏览器并输入地址http:// localhost / phpMyAdmin 应显示phpMyAdmin登录页面,如以下屏幕截图所示。 输入数据库root用户登录凭据,然后单击Go

PhpMyAdmin仪表板

PhpMyAdmin仪表板

就这样! 在本教程中,我们向您解释了如何在OpenSuse服务器/桌面版本上安装带有NginxMariaDBPHPPHP-FPMPhpMyAdminLEMP 如果您在设置过程中遇到任何问题,请通过下面的评论表单提出问题。


分享按钮