在Fedora22 / 23(Nginx,MariaDB,PHP-FPM)上安装LEMP堆栈

本教程将向您展示如何在Fedora22 / 23上安装LEMP堆栈。 具体来说,我们将安装Nginx Web服务器,MariaDB数据库服务器和PHP-FPM。 在之前的教程中,我向您展示了如何在CentOS / Redhat服务器上安装LEMP堆栈,Fedora上的过程有些不同。 因此,事不宜迟,让我们开始吧。

安装Nginx Web服务器

首先登录到Fedora服务器,然后发出以下命令来安装Nginx。

sudo dnf install nginx

启动Nginx Web服务器:

sudo systemctl start nginx

检查它是否正在运行:

sudo systemctl status nginx

我的输出:

● nginx.service - The nginx HTTP and reverse proxy server
 Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
 Active: active (running) since Sat 2015-11-21 15:55:29 CST; 15s ago
 Process: 2635 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
 Process: 2616 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
 Process: 2607 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 2641 (nginx)
 CGroup: /system.slice/nginx.service
 ├─2641 nginx: master process /usr/sbin/nginx
 ├─2642 nginx: worker process
 ├─2643 nginx: worker process
 ├─2645 nginx: worker process
 └─2646 nginx: worker process

在系统启动时自动启动Nginx:

sudo systemctl enable nginx

检查Nginx版本:

[[email protected] ~] $ nginx -v
nginx version: nginx/1.8.0

键入您的 服务器的IP地址 在Web浏览器中,如果看到以下内容,则说明已正确安装Nginx。

您可以使用以下命令找到服务器的公共IP地址:

ip address

要么

curl http://icanhazip.com

如果看不到以上页面,则可能需要调整您的 防火墙设置 允许 远程客户端 访问您的网页。

sudo firewall-cmd --permanent --add-service=http

sudo firewall-cmd --permanent --add-service=https

重新启动防火墙

sudo firewall-cmd --reload

现在访问您的Web服务器,您应该看到Nginx欢迎页面。 使用Nginx,您的服务器可以托管静态html文件,但是,要为动态网站(例如WordPress网站)提供服务器,我们需要安装MariaDB和PHP。

安装MariaDB数据库服务器

MariaDB是MySQL的直接重定位。 使用以下命令进行安装:

sudo dnf install mariadb-server mariadb

安装后,我们需要启动它。

sudo systemctl start mariadb

检查状态:

sudo systemctl status mariadb

输出:

● mariadb.service - MariaDB 10.0 database server
 Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
 Active: active (running) since Sat 2015-11-21 19:30:01 CST; 4s ago
 Process: 7498 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
 Process: 7357 ExecStartPost=/usr/libexec/mysql-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
 Process: 7224 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS)
 Process: 7180 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 7356 (mysqld_safe)
 CGroup: /system.slice/mariadb.service
 ├─7356 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
 └─7468 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/my...

检查版本:

[[email protected] ~] $ mysql --version
 mysql Ver 15.1 Distrib 10.0.21-MariaDB, for Linux (x86_64) using readline 5.1

现在运行安全脚本

sudo mysql_secure_installation

当脚本要求您提供当前的root密码时,请将其保留为空白,然后按Enter。 然后输入Y并设置root密码。 设置root密码后,您只需按Enter即可回答所有其他问题。

脚本完成后,我们需要启用MariaDB以在系统引导时启动。

sudo systemctl enable mariadb

现在,让我们继续到PHP部分。

安装PHP

使用以下命令安装PHP和相关软件包:

sudo dnf install php-fpm php-mysql php-common

编辑 php-fpm主配置文件

sudo vi /etc/php.ini

找到以下行:

;cgi.fix_pathinfo=1

删除前面的分号并将其值设置为0

cgi.fix_pathinfo=0

保存并关闭文件。

现在编辑php-fpm www.conf 配置文件:

sudo vi /etc/php-fpm.d/www.conf

找到以下两行:

;listen.owner = nobody
;listen.group = nobody

删除前面的分号。

然后将用户和组值从“ apache”更改为“ nginx”:

user = nginx
group = nginx

保存并关闭文件后,启动PHP Processor:

sudo systemctl start php-fpm

接下来,启用php-fpm以在系统启动时启动。

sudo systemctl enable php-fpm

配置Nginx服务器块

在中创建一个新的服务器阻止文件 /etc/nginx/conf.d 目录

sudo vi /etc/nginx/conf.d/example.com.conf

在其中添加以下几行。

server {
     listen 80;
     server_name www.example.com example.com
     root /usr/share/nginx/html;
     index index.php index.html index.htm;
location / {
     try_files $uri $uri/ index.php$query_string;
}
     error_page 404 /404.html;
     error_page 500 502 503 504 /50x.html;
location = /50x.html {
     root /usr/share/nginx/html;
}
location ~ .php$ {
    try_files $uri =404;
    fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}
}

保存并关闭文件。 然后重启nginx:

sudo systemctl restart nginx

您可以添加其他服务器阻止文件,以在单个服务器上托管多个网站。

测试PHP

在Web根目录中创建一个info.php文件:

sudo vi /usr/share/nginx/html/info.php

将以下文本放入info.php文件中

<?php
   phpinfo();
?>

保存并关闭它。

然后通过在浏览器中键入以下内容来访问您新创建的文件:

server ip address/info.php

如果您看到类似这样的信息,则说明您的PHP正常运行。

phpinfo

恭喜! 您已经在Fedora上成功安装了LEMP堆栈。 现在该托管您的网站了。

Sidebar