很多朋友可能都已经安装了Fedora 40系统,并且迫不及待地想要设置一个Web服务器来运行网站和Web应用程序。那么你来对地方了,本文将完成所有这些操作,步骤简单易懂。
接下来小编将介绍如何在Fedora 40 Web服务器上安装LEMP堆栈环境的详细步骤。与LAMP堆栈类似,但在LEMP环境下,这里使用Nginx Web服务器。
步骤1:更新系统软件包
可以通过如下方式更新系统包来开始:
dnf update
完成之后,继续安装复合LEMP包。
步骤2:安装Nginx Web服务器
Nginx是Apache网络服务器的替代方案,它轻量级且消耗更少的系统资源,因此在企业生产环境中具有高性能、稳定性和灵活性。要在Fedora 40上安装Nginx,请输入以下命令:
dnf install nginx
安装完成后,需要管理系统上的Nginx服务。首先,需要通过运行以下命令将其设置为在启动时自动启动:
systemctl enable nginx.service
然后启动服务,命令如下:
systemctl start nginx.service
接下来,检查Nginx服务器是否正在运行,可以输入以下命令来执行此操作:
systemctl status nginx.service
要通过HTTP/HTTPS协议查看Nginx Web服务器,需要允许通过系统防火墙访问它。为此请运行以下命令:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https
然后重新加载系统防火墙配置以使上述更改生效,命令如下:
systemctl reload firewalld
Nginx安装下还有一件重要的事情要做,那就是检查Nginx安装索引页是否可以在你的Web浏览器中加载,因此打开Web浏览器并输入URL:
http://server-ip-address
这时候应该能够看到以下页面:
步骤3:安装MariaDB服务器
MariaDB是最著名的MySQL关系数据库服务器的一个分支,要在Fedora服务器上安装MariaDB,请输入以下命令:
dnf install mariadb-server
完成MariaDB安装后,需要通过运行以下一系列命令来启用、启动和验证服务:
systemctl enable mariadb.service systemctl start mariadb.service systemctl status mariadb.service
现在是时候使用以下命令保护你的MariaDB安装:
mysql_secure_installation
执行上述命令后,系统会询问你以下几个问题,一般输入“Y”回车即可:
步骤4:安装PHP和模块
要在Fedora上安装PHP及其模块,请使用以下命令:
dnf install php php-common php-fpm php-mysqlnd php-gd
现在已经安装了PHP和一些PHP模块,你需要配置PHP以便可以运行PHP文件。默认情况下,PHP-FPM配置为与Apache Web服务器一起使用,但在本例中,使用的是Nginx Web服务器。因此,需要按照以下步骤更改该设置。
使用你最喜欢的编辑器,打开/etc/php-fpm.d/www.conf文件,命令如下:
vi /etc/php-fpm.d/www.conf
然后在以下几行中将用户和组的值从apache更改为nginx :
; RPM: apache Choosed to be able to access some dir as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx
然后重新启动PHP-FPM和Nginx Web服务器以使上述更改生效:
systemctl restart php-fpm.service systemctl restart nginx.service
之后通过发出以下命令确认它们正在运行:
systemctl status php-fpm.service systemctl status nginx.service
现在可以测试所有内容,使用你最喜欢的编辑器,在你的Nginx根目录中创建一个名为info.php
的文件,命令如下:
vi /usr/share/nginx/html/info.php
在文件中添加以下行,保存并退出。
<?php phpinfo() ?>
然后打开你的Web浏览器并输入以下URL来验证PHP信息:
http://server-ip-address/info.php
此时,应该已在Fedora 40服务器上成功安装并配置LEMP堆栈环境了。
步骤5:使用Nginx托管示例网站
要使用Nginx托管示例网站,需要创建一个目录来保存你的网站文件,并赋予其访问该目录的适当权限。
sudo mkdir -p /usr/share/nginx/html/mywebsite sudo chown -R nginx:nginx /usr/share/nginx/html/mywebsite
接下来,创建一个简单的HTML文件作为网站主页:
sudo vi /usr/share/nginx/html/mywebsite/index.html
添加以下示例HTML内容:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>My Sample Website</title> </head> <body> <header> <h1>Welcome to My Sample Website</h1> </header> <main> <p>This is a simple website hosted on Nginx using Fedora 40.</p> </main> <footer> <p>© 2024 My Sample Website</p> </footer> </body> </html>
保存文件并退出编辑器。
步骤6:配置Nginx来为网站提供服务
现在需要为你的网站创建一个新的Nginx服务器块配置文件:
sudo vi /etc/nginx/conf.d/mywebsite.conf
添加以下配置(替换your_server_ip
为你实际服务器的IP地址或域名):
server { listen 80; server_name your_server_ip; # Replace with your server's IP address or domain name root /usr/share/nginx/html/mywebsite; # Document root index index.html; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
在重新加载Nginx之前,最好测试一下配置中是否存在语法错误:
sudo nginx -t
如果测试成功,现在可以重新加载Nginx以应用新的配置:
sudo systemctl reload nginx
现在所有设置都已完成,可以通过以下URL访问网站:
http://your_server_ip 或者 http://domain.com
你应该会看到示例网站的主页显示“Welcome to My Sample Website”的消息:
步骤7:在Nginx网站上启用HTTPS
如果要为在Nginx根目录(/usr/share/nginx/html/mywebsite)托管的示例网站设置SSL证书,可以使用Certbot从Let’s Encrypt获取免费的SSL证书:
sudo dnf install certbot python3-certbot-nginx -y
接下来,运行以下命令来获取并安装SSL证书:
sudo certbot --nginx
Certbot将自动配置你的Nginx设置以在现有服务器块配置中使用新的SSL证书。一旦Certbot完成安装,你可以通过导航到https://yourwebstie.com来验证SSL是否正常工作。
当然,在少数情况下,肯定有一些人在安装过程中遇到了错误。这时候可以仔细核对下以上安装步骤,如果将出现的具体错误,在互联网上搜索答案,以便找到解决方法。