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的世界中踏上成功的旅程提供了帮助。

相关推荐
糖果店的幽灵15 分钟前
【langgraph 从入门到精通graphApi 篇】Memory 与长期记忆
运维·服务器·人工智能·langgraph
我星期八休息9 小时前
网络编程—应用层HTTP协议
linux·运维·开发语言·前端·网络·网络协议·http
一个天蝎座 白勺 程序猿9 小时前
从电网改造踩坑说起:深度拆解时序大模型TimechoAI的自主可控与安全合规底气
大数据·运维·服务器·大模型·timechoai
ShineWinsu9 小时前
对于Linux:UDPsocket编程基础的解析
linux·运维·网络协议·udp·ip·端口号·进程间通信
hehelm10 小时前
AI大模型接入SDK—通用模块设计
linux·开发语言·c++
Spider Cat 蜘蛛猫11 小时前
Anthropic的skill-creator使用分享
运维·服务器
Ai拆代码的曹操13 小时前
K8s Pod Pending 逐层排查:从 FailedScheduling 到 PVC StorageClass 不存在的实战记录
java·linux·kubernetes
Yang961113 小时前
探索无线新视界:鼎讯信通DXMP系列频谱仪模块深度剖析
运维·网络
wangbing112514 小时前
JPA下自定义主键
java·linux·服务器
杨了个杨898214 小时前
Docker Compose 简介及应用
运维·docker·容器