LEMP或Linux , Engine-x , MySQL和PHP是由安装在Linux操作系统上的开源软件组成的软件包,用于运行由Nginx HTTP服务器和MySQL / MariaDB数据库管理系统提供支持的基于PHP的Web应用程序。
本教程将指导您如何在OpenSuse服务器/桌面版本上安装Nginx , MariaDB , PHP , PHP-FPM和PhpMyAdmin的LEMP。
安装Nginx HTTP Server
Nginx是一个快速可靠的HTTP和代理服务器,可以处理更高的HTTP请求负载。 它使用异步事件驱动方法来处理请求,其模块化事件驱动架构可在高负载下提供更可预测的性能。
要在OpenSuse上安装Nginx ,请运行以下命令。
$ sudo zypper install nginx
安装Nginx后 ,您可以立即启动该服务,然后启用它以在启动时自动启动并通过运行以下命令验证Nginx的状态。
$ sudo systemctl start nginx$ sudo systemctl enable nginx$ sudo systemctl status nginx
另请参阅 : 每个Linux用户必须知道的10个最常用的Nginx命令
此时,Nginx Web服务器应该已启动并运行,您还可以使用netstat命令验证状态,如图所示。
$ sudo netstat -tlpn | grep 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
如果安装了firewalld ,则需要打开端口80和443以允许防火墙上的Web通信。
$ sudo firewall-cmd --permanent --add-port=80/tcp$ sudo firewall-cmd --permanent --add-port=443/tcp$ sudo firewall-cmd --reload
接下来,打开Web浏览器并导航到地址http://localhost
并验证Nginx页面。
安装MariaDB数据库服务器
MariaDB是MySQL关系数据库管理系统的免费开源分支。 它由MySQL的原始开发人员开发,旨在保持开源。 MariaDB具有快速,可扩展和强大的功能,拥有丰富的存储引擎生态系统,插件和许多其他工具,使其适用于各种用例。
要在OpenSuse上安装MariaDB ,请运行以下命令。
$ sudo zypper install mariadb mariadb-client
接下来,立即启动MariaDB服务,然后使其在引导时自动启动并检查其状态。
$ sudo systemctl start mariadb $ sudo systemctl enable mariadb $ sudo systemctl status mariadb
本节中的下一个关键步骤是保护MariaDB服务器安装。 因此,运行MariaDB包附带的安全脚本,如图所示。
注意 :强烈建议对生产中的所有MariaDB服务器运行MariaDB安全脚本及其所有部分。
$ sudo mysql_secure_installation
运行脚本后,请仔细阅读每个步骤的说明。 您应该设置root用户密码,删除匿名用户,禁用远程root访问权限,删除测试数据库并访问它,最后重新加载权限表。
安装和配置PHP和PHP-FPM
PHP-FPM ( PHP FastCGI Process Manager的简称)是PHP的另一种FastCGI守护进程,具有一些附加功能,旨在处理高负载。 它维护池(可以响应PHP请求的工作者 )来完成此任务。 重要的是,对于多用户PHP环境,它比传统的基于CGI的方法(如SUPHP )更快。
要安装PHP和PHP-FPM以及所需的模块,请运行以下命令。
$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring
在我们继续启动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
保存并关闭文件。
接下来,我们需要在www.conf
配置文件中为已配置的池定义正确的设置。
$ sudo vim /etc/php7/fpm/php-fpm.d/www.conf
首先,将进程的Unix所有者和组所有者配置为Nginx用户和组。 通过将用户和组参数的值从nobody
更改为nginx
。
user = nginxgroup = 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服务,然后使其在引导时自动启动并检查其状态。
$ sudo systemctl start php-fpm$ sudo systemctl enable php-fpm$ sudo systemctl status 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脚本传递给监听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; }
保存文件中的更改并退出。
测试Nginx和PHP-FPM
下一步是通过在DocumentRoot目录下创建一个新的PHP测试文件来测试Nginx是否与PHP-FPM一起运行良好,如图所示。
$ echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php
现在我们需要在继续重启服务之前检查Nginx配置是否正确如下。
$ sudo nginx -t
如果Nginx配置语法没问题,请继续并重新启动Nginx和PHP-FPM服务以获取最近的更改。
$ sudo systemctl restart nginx php-fpm
现在打开Web浏览器并导航到地址http://localhost/info.php
以验证PHP配置,如以下屏幕截图所示。
安装和配置PhpMyAdmin
phpMyAdmin是一个免费的,简单易用的流行工具,用PHP编写,专为通过Web 管理MySQL服务器而构建。 它支持MySQL和MariaDB上的各种操作。
要在OpenSuse上安装phpMyAdmin ,请运行以下命令。
$ sudo zypper install 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 。
就这样! 在本教程中,我们向您解释了如何在OpenSuse服务器/桌面版本上安装带有Nginx , MariaDB , PHP , PHP-FPM和PhpMyAdmin的LEMP。 如果您在设置过程中遇到任何问题,请通过下面的评论表单提出问题。