当前位置: 首页 > 科技观察

在Linux上安装Nginx构建您自己的Web服务器

时间:2023-03-14 19:27:43 科技观察

本指南将帮助您在各种Linux发行版上安装Nginx,您将了解重要的Nginx配置文件和目录。Nginx因其性能和易用性而成为最受欢迎的Web服务器。它是一个免费开源的高性能HTTP服务器。Nginx除了Web服务器功能外,还可以充当反向代理和负载均衡器。按照以下步骤将向您展示如何在各种Linux发行版(如Ubuntu、Debian、CentOS、RockyLinux、AlmaLinux)上安装Nginx并测试其功能。此外,如果您想知道如何使用免费的Let'sEncryptSSL证书保护您的Nginx,我建议您阅读我们的指南Let'sEncrypt:使用Certbot获取免费的SSL证书(请参阅https://www.linuxmi.com/lets-加密证书机器人ssl.html)。目录1.安装Nginx1.1在Ubuntu或Debian上安装Nginx1.2在CentOS上安装Nginx1.37在CentOS8、RockyLinux或AlmaLinux上安装Nginx2.检查Nginx服务状态3.Nginx配置文件和目录3.1服务器配置文件3.2Nginx日志3.3默认公共Web目录结论1.安装Nginx在开始之前,您应该拥有一个具有sudo权限的常规非根用户。1.1在Ubuntu或Debian上安装NginxNginx在默认的Ubuntu和Debian存储库中可用,因此您可以使用apt包管理工具轻松安装它。让我们首先确保您的系统是最新的:sudoaptupdate之后,您可以安装Nginx:sudoaptinstallnginx1.2在CentOS7上安装Nginx在CentOS7上,Nginx包在EPEL(企业Linux的额外包)存储库中可用。如果您还没有安装它,您可以输入:sudoyuminstalllepel-release现在您可以继续安装Nginx:sudoyuminstallnginx按y和Enter接受EPELGPG密钥。安装后,启用并启动Nginx服务:sudosystemctlenablenginxsudosystemctlstartnginx最后,您需要同时打开HTTP(80)和HTTPS(443)端口。在CentOS8、RockyLinux或AlmaLinux安装Nginx要安装Nginx,我们将使用dnf包管理器,它是CentOS8、RockyLinux和AlmaLinux上的默认包管理器。首先,更新所有可用的包:[linuxmi@localhostwww.linuxmi.com]$sudodnfupgrade更新完成后,运行以下命令安装Nginx:[linuxmi@localhostwww.linuxmi.com]$sudodnfinstallnginximage安装完成后,启用并启动Nginx服务:[linuxmi@localhostwww.linuxmi.com]$sudosystemctlenablenginxCreatedsymlink/etc/systemd/system/multi-user.target.wants/nginx.service→/usr/lib/systemd/system/nginx.service.[linuxmi@localhostwww.linuxmi.com]$sudosystemctlstartnginx要在防火墙上允许HTTP(80)和HTTPS(443)流量,请执行以下命令:sudofirewall-cmd--permanent--zone=public--add-service=httpsudofirewall-cmd--permanent--zone=public--add-service=httpssudofirewall-cmd--reload2.检查Nginx服务状态确认Nginxweb服务器正在运行,执行以下命令:[linuxmi@localhostwww.linuxmi.com]$sudosystemctlstatusnginx输出如下:nginx.service-ThenginxHTTPandreverseproxyserverLoaded:loaded(/usr/lib/systemd/system/nginx.service;enabled;vendorprese>Active:active(running)sinceSun2021-12-1220:37:40EST;1min18sagoProcess:3715ExecStart=/usr/sbin/nginx(code=退出,状态=0/成功)过程:3713ExecStartPre=/usr/sbin/nginx-t(code=exited,status=0/SUCCESS)Process:3712ExecStartPre=/usr/bin/rm-f/run/nginx.pid(code=exited,status>MainPID:3717(nginx)Tasks:2(limit:23372)Memory:6.5MCGroup:/system.slice/nginx.service├─3717nginx:masterprocess/usr/sbin/nginx└─3718nginx:workerprocess从上面的输出可以得出Nginx服务是启动并运行此外,您可以访问默认的Nginx登录页面,通过导航到您服务器的IP地址来确认Web服务器是否正常运行。这将显示默认的Nginx登录页面,表明一切正常。3.Nginx配置文件和目录Nginx安装完成后,需要注意一些重要的文件夹和位置3.1服务器配置文件/etc/nginx:包含所有Nginx配置文件的主目录/etc/nginx/nginx.conf:Nginx主配置文件。/etc/nginx/sites-available:定义个别网站的目录,记住Nginx不会用confi在此目录中找到的guration文件,除非它们链接到/etc/nginx/sites-enabled目录。/etc/nginx/sites-enabled:Nginx主动提供服务的站点列表。要激活站点以便它们链接到/etc/nginx/sites-enabled目录,请使用如下所示的命令创建站点配置的符号链接:sudoln-s/etc/nginx/sites-available/mydomain.com.conf/etc/nginx/sites-enabled/当然,您需要将mydomain.com.conf替换为您的VirtualHost.conf文件。3.2Nginx日志Nginx日志文件(access.log和error.log)在/var/log/nginx/目录下。access.log:对您的Web服务器的每个请求都记录在此日志文件中。error.log:Nginx中生成的任何错误的日志。当您的服务器未按预期运行时,您将在这里进行故障排除。3.3默认公共Web目录默认情况下,Nginx在其基本配置文件中设置了一个默认的文档根目录。在创建虚拟主机或服务器块时,Web服务器会在这些配置文件指定的文档根目录中查找网站文件。/var/www/html:在Ubuntu和Debian上,Nginx将其文档存储在这里。/usr/share/nginx/html:在CentOS、RockyLinux和AlmaLinux上,默认的Nginx网页位于此处。结论在本教程中,您学习了如何在各种Linux发行版上安装Nginx。现在由您决定向用户提供哪些内容。