Linux 安装 Nginx 并将其配置为系统服务(详细图文)

目录

前言

Nginx是一款卓越的高性能Web服务器,被广泛用于托管网站和应用程序。本文旨在为您提供详细的指南,帮助您在Linux系统上成功安装、配置和启动Nginx服务器。通过这一过程,您将了解如何将Nginx集成到您的系统中,以便轻松地托管您的网站和应用程序。

安装 Nginx

安装依赖项

在开始安装Nginx之前,首先需要安装一些依赖项,以确保Nginx编译和运行正常。打开终端并执行以下命令:

bash 复制代码
yum install -y wget gcc-c++ pcre-devel zlib-devel openssl-devel

这将安装必要的工具和库,以支持Nginx的编译和运行。

下载Nginx

从Nginx官网下载最新的稳定版本。您可以在https://nginx.org/en/download.html上找到最新版本的下载链接。

bash 复制代码
# 例如,下载Nginx 1.24.0版本
wget https://nginx.org/download/nginx-1.24.0.tar.gz

解压Nginx

解压下载的Nginx源代码包:

bash 复制代码
tar -zxvf nginx-1.24.0.tar.gz

编译和安装

进入解压后的Nginx目录并进行编译和安装:

bash 复制代码
# 切换到 Nginx 解压目录
cd nginx-1.24.0
# 编译前的配置和依赖检查
./configure
# 编译安装
make && make install

Nginx安装完成后,默认将在/usr/local/nginx目录下创建必要的文件和目录,包括配置文件、日志文件、HTML文件等。

防火墙设置

如果您的系统启用了防火墙,需要关闭防火墙

bash 复制代码
# 查看防火墙状态
systemctl status firewalld

# 关闭防火墙
systemctl stop firewalld

# 开机禁用防火墙
systemctl disable firewalld

启动Nginx

进入Nginx的安装目录:

bash 复制代码
cd /usr/local/nginx/sbin

然后,启动Nginx服务器:

bash 复制代码
./nginx

您现在可以通过浏览器访问您的服务器的IP地址或域名来验证Nginx是否正常工作。

配置 Nginx 为系统服务

将 Nginx 制作成系统服务让你无需手动到 Nginx 安装目录下执行命令来启动它,而是系统会在开机时自动启动 Nginx,让启动过程更加方便和自动化。

配置 Nginx 服务文件

/etc/systemd/system/ 目录下创建一个新的服务文件,例如 nginx.service

shell 复制代码
vi /etc/systemd/system/nginx.service

在打开的文件中,添加以下内容:

bash 复制代码
[Unit]
Description=Nginx HTTP Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

执行以下命令重新加载 systemd 配置文件:

shell 复制代码
systemctl daemon-reload

启动 Nginx 服务

执行以下命令启动 Nginx 服务:

shell 复制代码
systemctl start nginx

现在,Nginx 将作为系统服务在后台运行。

设置开机自启动

如果你希望 Nginx 在系统启动时自动启动,可以执行以下命令设置开机自启动:

shell 复制代码
systemctl enable nginx

这样,Nginx 将在系统启动时自动启动。

检查 Nginx 状态

bash 复制代码
systemctl status nginx

停止 Nginx 服务

bash 复制代码
systemctl stop nginx

重启 Nginx 服务

bash 复制代码
systemctl restart nginx

卸载 Nginx

如果需要卸载Nginx,您可以执行以下步骤:

停止 Nginx 服务:

执行以下命令停止 Nginx 服务:

shell 复制代码
systemctl stop nginx

如果你使用的是非系统服务方式启动Nginx,可以使用以下命令停止Nginx:

shell 复制代码
/usr/local/nginx/sbin/nginx -s stop

确定Nginx的安装位置:

执行以下命令查找Nginx的安装位置:

shell 复制代码
whereis nginx

该命令将返回Nginx可执行文件的路径,例如 /usr/local/nginx

删除Nginx安装目录:

执行以下命令删除Nginx的安装目录:

shell 复制代码
rm -rf /usr/local/nginx

查找并删除相关文件:

执行以下命令查找可能与Nginx相关的文件:

shell 复制代码
find / -name nginx

这将搜索文件系统中所有包含 "nginx" 的文件名,并且你可以根据需要删除这些文件。

完成以上步骤后,Nginx将被完全卸载。

结语

Nginx是一个强大而多才多艺的Web服务器,它不仅提供卓越的性能,还具备灵活的配置选项。通过本文的指南,您已经成功地掌握了Nginx的基本安装和配置,并且了解了如何将其设置为系统服务。这将为您的Web应用程序提供稳定性和高性能,同时为您提供了丰富的自定义选项,以满足各种需求。希望这份指南对您在Nginx的世界中踏上成功的旅程提供了帮助。

相关推荐
宇钶宇夕14 小时前
CoDeSys入门实战一起学习(四):应用程序运行、监控与调试
运维·自动化
optimistic_chen14 小时前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制
zhyf11914 小时前
零刻AI Max395(Ubuntu 24.04)AMD 显卡监控工具(amdgpu_top)部署手册
linux·运维·ubuntu
报错小能手14 小时前
nginx集群聊天室(一) 初步讲解集群聊天室所需库的搭建
c++·nginx
谢平康14 小时前
ssh-copy-id 后还是一直需要密码登录的一个解决办法
运维·ssh
zhangdawei83814 小时前
英伟达GB200,GB300和普通服务器如dell R740xd有什么区别?
运维·服务器·人工智能
释怀不想释怀14 小时前
Docker(项目部署)
运维·docker·容器
御控工业物联网14 小时前
御控远程监控智慧运维系统
运维·物联网·边缘计算·数据采集·远程监控·mqtt协议·工业智能网关
wdfk_prog14 小时前
[Linux]学习笔记系列 -- 内存管理与访问
linux·笔记·学习
go_bai14 小时前
Linux-网络基础
linux·开发语言·网络·笔记·学习方法·笔记总结