Linux 安装 Nginx 并配置为系统服务(超详细)

目录

  • 前言
  • 安装 Nginx
    • 安装依赖项
    • 下载Nginx
    • 解压Nginx
    • 编译和安装
    • 防火墙设置
    • 启动Nginx
  • 配置 Nginx 为系统服务
    • 配置 Nginx 服务文件
    • 启动 Nginx 服务
    • 设置开机自启动
    • 检查 Nginx 状态
    • 停止 Nginx 服务
    • 重启 Nginx 服务
  • 卸载 Nginx
  • 结语

前言

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

安装 Nginx

安装依赖项

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

yum install -y wget gcc-c++ pcre-devel zlib-devel openssl-devel

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

下载Nginx

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

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

解压Nginx

解压下载的Nginx源代码包:

tar -zxvf nginx-1.24.0.tar.gz

编译和安装

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

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

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

防火墙设置

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

# 查看防火墙状态
systemctl status firewalld# 关闭防火墙
systemctl stop firewalld# 开机禁用防火墙
systemctl disable firewalld

启动Nginx

进入Nginx的安装目录:

cd /usr/local/nginx/sbin

然后,启动Nginx服务器:

./nginx

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

配置 Nginx 为系统服务

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

配置 Nginx 服务文件

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

vi /etc/systemd/system/nginx.service

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

[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 配置文件:

systemctl daemon-reload

启动 Nginx 服务

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

systemctl start nginx

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

设置开机自启动

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

systemctl enable nginx

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

检查 Nginx 状态

systemctl status nginx

在这里插入图片描述

停止 Nginx 服务

systemctl stop nginx

重启 Nginx 服务

systemctl restart nginx

卸载 Nginx

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

停止 Nginx 服务:

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

systemctl stop nginx

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

/usr/local/nginx/sbin/nginx -s stop

确定Nginx的安装位置:

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

whereis nginx

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

删除Nginx安装目录:

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

rm -rf /usr/local/nginx

查找并删除相关文件:

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

find / -name nginx

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

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

结语

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/134956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL(11):数据处理之增删改

插入数据 方式1: 一条一条的添加数据 为表的所有字段按默认顺序插入数据 INSERT INTO 表名 VALUES (value1,value2,....);# 没有指明添加的字段 INSERT INTO emp1 VALUES (1,TOM,2023-11-06,3400);没有指明添加的字段,要按照声明顺序,进行…

docker搭建EMQX集群+nginx转发TCP

一、三台机器安装 1、三台都拉取镜像 docker pull emqx/emqx:5.0.262、三台分别运行镜像 第一台 docker run -itd --network host --name emqx --restart always \-p 1883:1883 \-p 18083:18083 \-p 8083:8083 \-p 8883:8883 \-p 8080:8080 \-e EMQX_NAME"master1"…

PyTorch 从tensor.grad 看 backward(权重参数) 和 gradient accumulated

1. 新建一个自变量 tensor x import torchx torch.ones(1, requires_gradTrue) print(x)1. 输出: tensor([1.], requires_gradTrue)2. 写一个 forward import torchx torch.ones(1, requires_gradTrue) y x**2 z x**33. y, z 都 backward import torchx to…

Voice Control for ChatGPT简单高效的与ChatGPT进行交流学习。

快捷又不失灵活性 日常生活中,我们与亲人朋友沟通交流一般都是喜欢语音的形式来完成的,毕竟相对于文字来说语音就不会显的那么的苍白无力,同时最大的好处就是能解放我们的双手吧,能更快实现两者间的对话,沟通便更高效…

排序算法的分析及实现

目录​​​​​​​ 1. 排序 1.1. 排序的概念 1.2. 排序的稳定性 1.3. 内部排序和外部排序 2. 直接插入排序 2.1. 直接插入排序 2.2. 直接插入排序的两种情况 1. 情况一 2. 情况二 2.3. 直接插入排序的单趟排序 2.4. 直接插入排序的完整实现 2.5. 直接插入排序的时…

如何手动获取spring/springboot中的IOC容器(全局上下文对象)?

IDE:IntelliJ IDEA 2022.2.3 x64 操作系统:win10 x64 位 家庭版 JDK: 1.8 文章目录 前言一、如何手动获取spring容器[ApplicationContext]?方式①:在启动类中获取spring容器方式②:自定义工具类实现ServletContextList…

MySQL_主从复制_环境搭建

MySQL主从复制配置 CentOS 7 配置 阿里云 yum 源 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo sudo yum clean all sudo yum makeca…

Typecho V1.2.1 博客更换域名还原

网站老是到期或则要换服务器(IP地址),单独改IP老是有图片不能加载,出个完整的迁移教程: 系统环境:Ubuntu 2204 宝塔面板 8.0.3 Nginx1.22 PHP 8.1 MySQL 5.7 备份 进入宝塔将网站根目录直接压缩&#xff0…

pytorch复现_UNet

什么是UNet U-Net由收缩路径和扩张路径组成。收缩路径是一系列卷积层和汇集层,其中要素地图的分辨率逐渐降低。扩展路径是一系列上采样层和卷积层,其中特征地图的分辨率逐渐增加。 在扩展路径中的每一步,来自收缩路径的对应特征地图与当前特征…

MySQL -- 索引

MySQL – 索引 文章目录 MySQL -- 索引一、索引简介1.简介2.索引效率的案例 二、认识磁盘1.磁盘2.结论3.磁盘随机访问(Random Access)与连续访问(Sequential Access) 三、MySQL 与磁盘交互基本单位1.基本单位2.MySQL中的数据管理 五、索引的理解1.索引案例2.单页mysql page3.管…

ts学习01-开发环境搭建

环境 nodejs 18 npm 安装typescript npm install typescript # 如果上面太慢,可以执行下面的方法 npm install typescript --registryhttps://registry.npm.taobao.orgHelloWorld 新建index.ts console.log("hello ts");执行下面命令进行编译 npx t…

【ArcGIS Pro二次开发】(74):Python、C#实现Excel截图导出图片

以村庄规划制图为例,通过对现状和规划用地的统计,生成Excel格式的【空间功能结构调整表】后,需要进一步将表格导出成图片,并嵌入到图集中,这样可以实现全流程不用手动参与,让制图的流程完全自动化。 关于E…

5G技术的应用和发展

一、什么是5G技术 5G技术是第五代移动通信技术的缩写,是一项全新的高速无线通信技术,它可以提供更高的带宽和更低的延迟,以实现更快的数据传输和更好的用户体验。5G技术的主要特点包括更高的数据传输速率、更低的延迟、更大的网络容量、更好…

Go 语言循环语句

文章目录 1. for 循环:2. for 循环的无限循环形式:3. range 循环:4. while 循环模拟:5. do-while 循环模拟:6. 循环控制语句 Go语言提供了多种循环语句,用于重复执行一段代码块。以下是Go语言中常用的循环语句: 1. for 循环: #mermaid-svg-iLHuj1pKeODq…

Drogon源码剖析

一、Drogon介绍 Drogon是一个基于C的跨平台HTTP应用程序框架,它支持Linux,也支持macOS、FreeBSD,OpenBSD,HaikuOS,和Windows。项目地址:https://github.com/drogonframework/drogon。 它的主要特点如下&a…

OpenAI 组建安全 AGI 新团队!应对AI“潘多拉魔盒”

夕小瑶科技说 原创 作者 | 小戏 一旦谈及未来 AI,除了天马行空的科幻畅想,不可避免的也有未来 AI 时代的末日预言。从 AI 武器化到 AI 欺骗,从邪恶 AI 到 AI 掌权,人工智能,尤其是通用人工智能的风险始终都清清楚楚的…

Dockerfile + 源码安装httpd 制作镜像

Dockerfile 源码安装httpd 制作镜像 环境: 虚拟机版本ip部署应用centos8192.168.136.142docker [rootlocalhost ~]# ls anaconda-ks.cfg httpd [rootlocalhost httpd]# cat dockerfile FROM centosRUN rm -rf /etc//yum.repos.d/* && \curl -o /etc/y…

Mac电脑录屏软件 Screen Recorder by Omi 中文最新

Screen Recorder by Omi是一款屏幕录制软件,它可以帮助用户轻松地录制屏幕活动,并将其保存为高质量的视频文件。 该软件提供了多种录制选项,包括全屏录制、选择区域录制和单窗口录制等,同时提供了丰富的设置选项,如视…

Pycharm中新建一个文件夹下__init__.py文件有什么用

在PyCharm中新建一个文件夹下的__init__.py文件有以下几个作用: 声明文件夹为一个Python包:__init__.py文件的存在告诉Python解释器该文件夹是一个Python包。当你导入该文件夹下的模块时,Python会将其视为一个包而不是普通的文件夹。这允许你…

为什么要停止在 SpringBoot 中使用字段注,改用构造器注入

停止在 SpringBoot 中使用字段注入! 本文为翻译文,同时加入了一些自己的理解,翻译来源:https://medium.com 在 Spring Boot 依赖项注入的上下文中,存在关于注入依赖项最佳实践的争论:字段注入、Setter注入和构造函数…