在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正常运行。
恭喜! 您已经在Fedora上成功安装了LEMP堆栈。 现在该托管您的网站了。