Nginx源码安装+静态站点部署指南(CentOS 7)

安装包:可自行前往我的飞书下载

Docs

也可以进入 nginx 官网,下载自己所需适应版本

nginx

开始安装nginx

1. 创建准备目录
cd /opt
mkdir soft module  # 创建软件包和源码解压目录
2. 安装依赖环境
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
3. 安装 PCRE(Nginx 依赖)
# 解压 PCRE
cd /opt/soft
tar -zxvf pcre-8.37.tar.gz -C ../module/# 编译安装
cd /opt/module/pcre-8.37
./configure --prefix=/usr/local/pcre8
make && make install
4. 安装 Nginx
# 解压 Nginx
cd /opt/soft
tar -zxvf nginx-1.20.2.tar.gz -C ../module/# 配置编译选项
cd /opt/module/nginx-1.20.2
./configure --prefix=/usr/local/nginx# 编译并安装
make && make install
5. 验证安装
# 检查版本
/usr/local/nginx/sbin/nginx -v# 测试配置文件
/usr/local/nginx/sbin/nginx -t

6. 启动 Nginx
/usr/local/nginx/sbin/nginx# 检查进程(要有master和worker)
ps -ef | grep nginx

# 测试访问
curl http://localhost

静态站点部署

1.创建站点目录和文件
# 进入Nginx的HTML目录
cd /usr/local/nginx/html# 创建hello子目录
mkdir hello# 创建hello.html文件(使用vim或直接echo)
cat > hello/hello.html <<EOF
<html><header><title>hello</title></header><body><h1>Hello Nginx</h1></body>
</html>
EOF

 2.修改Nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
在http块内添加server配置:nginx
server {listen 10010;location / {root html/hello;index hello.html;}
}

3.检查并启动
# 测试配置文件语法
/usr/local/nginx/sbin/nginx -t# 重启Nginx(如果已运行)
/usr/local/nginx/sbin/nginx -s reload# 首次启动(如果未运行)
/usr/local/nginx/sbin/nginx
4.访问测试
# 检查端口监听
netstat -tulnp | grep 10010# 测试访问(本地)
curl http://localhost:10010# 或浏览器访问
echo "访问地址:http://服务器IP:10010"

5.防火墙设置(如需)
# 开放10010端口
firewall-cmd --add-port=10010/tcp --permanent
firewall-cmd --reload# 或iptables
iptables -I INPUT -p tcp --dport 10010 -j ACCEPT
service iptables save
关键点说明
  1. 路径关系

    • 配置文件中的root html/hello实际指向/usr/local/nginx/html/hello/

    • 必须确保hello.html位于该目录

  2. 权限问题

    chown -R nobody:nobody /usr/local/nginx/html/hello
    chmod -R 755 /usr/local/nginx/html/hello
  3. 备选配置方案

    nginx

    server {listen 10010;root /usr/local/nginx/html/hello;index hello.html;location / {try_files $uri $uri/ =404;}
    }

遇到问题时可通过查看错误日志排查:

tail -f /usr/local/nginx/logs/error.log

常见问题处理

1. 端口冲突(80 端口被占用)
netstat -tulnp | grep 80  # 查看占用进程
systemctl stop httpd      # 停止 Apache(示例)
2. 启动失败(缺少 pid 文件)
# 强制停止残留进程
killall nginx# 重新启动
/usr/local/nginx/sbin/nginx
3. 重新加载配置
/usr/local/nginx/sbin/nginx -s reload

卸载方法

# 停止服务
/usr/local/nginx/sbin/nginx -s stop# 删除文件
rm -rf /usr/local/nginx /usr/local/pcre8

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

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

相关文章

交换机的核心原理和作用

一、交换机的核心原理交换机是一种用于连接多台设备的网络硬件&#xff0c;其核心原理基于二层网络&#xff08;数据链路层&#xff09;的 MAC 地址寻址1. MAC 地址学习与存储当交换机接收到数据帧时&#xff0c;会读取帧中的源 MAC 地址&#xff0c;并将该地址与对应的端口号记…

【工具变量】上市公司企业金融强监管数据、资管新规数据(2001-2024年)

数据简介&#xff1a;参考顶刊《经济研究》李青原&#xff08;2022&#xff09;老师的做法&#xff0c;Post 为时间虚拟变量&#xff0c;根据资管新规实施的时间&#xff0c;当观测期为2018 年上半年及之后时&#xff0c;Post 取值1&#xff0c;否则取值0。PreFin 为资管新规实…

CSS Grid与Flexbox布局实战对比

概述 CSS布局技术在过去几年经历了重大变革&#xff0c;从传统的基于浮动和定位的方法&#xff0c;到现在强大的Flexbox和Grid布局系统。这两种现代布局方法极大地简化了复杂界面的开发过程&#xff0c;但它们各自适用于不同的场景。本文将对Flexbox和Grid进行深入比较&#x…

[Pytest][Part 4]多种测试运行方式

实现需求2&#xff1a;有两种运行测试的方式&#xff1a;通过config配置文件运行&#xff0c;测试只需要修改config配置文件cmdline 运行这里是新建一个config类来存储所有的测试配置&#xff0c;以后配置有修改的话也只需要修改这个类。根据目前的测试需求&#xff0c;config中…

平衡二叉树的删除操作

对于平衡二叉树的操作应对与考试只需要模拟出过程即可&#xff0c;且他的过程和插入的平衡方法一样&#xff0c;不一样的只是对于平衡因子的计算上。接下来我将给出方法①删除结点&#xff08;方法同“二叉排序树”&#xff09; ②一路向北找到最小不平衡子树&#xff0c;找不到…

Spark 4.0的 VariantType 类型优点以及使用分析

背景 本文基于Spark 4.0。 总结 对于半结构化的数据来说&#xff0c;我们一般会有两种方式进行存储: 第一种是存储为JSON String,这种可以保证Schema free&#xff0c;但是在使用的时候得解析为JSON&#xff0c;从而进行运算操作。 第二种是存储为Struct类型&#xff0c;这种虽…

17-C#封装,继承,多态与重载

C#封装继承多态 1. 2. 3.多态 public abstract class animal//抽象类 {public abstract void eat();//抽象方法 } public class cat : animal//继承 {public override void eat()//重写{messagebox.show("cat eat");} } public class dog: animal//继承 {public over…

恒创科技:香港站群服务器做seo站群优化效果如何

香港站群服务器做 SEO 站群优化效果如何?在当前搜索引擎优化竞争日益激烈的环境下&#xff0c;越来越多的企业开始关注站群策略这一高效的 SEO 手段。作为亚洲重要的网络枢纽&#xff0c;香港站群服务器因其独特优势&#xff0c;正成为实施 SEO 站群优化的热门选择。本文将客观…

Linux-进程管理

Linux-进程管理Linux 进程管理1. 进程的含义2. 进程状态3. 进程工作模式4. 守护进程5. 进程查看命令5.1 ps 命令5.2 top 命令5.3 pstree 命令6. 终止进程的 kill 命令7. 前后台运行8. 暂停进程9. 进程文件系统 /proc10. 定时任务管理10.1 at 命令10.2 batch 命令10.3 cron 与 c…

OpenCV图像增强秘籍:高通滤波与特效艺术

> 在数字图像处理领域,边缘是图像最富信息的区域。掌握高通滤波技术,你就能让图像中的隐藏细节"跃然纸上",甚至创造惊艳的艺术效果。 ## 一、图像增强与高通滤波基础 ### 1.1 图像增强的核心目标 图像增强不是简单的美化,而是通过技术手段**突出重要特征*…

347. 前K个高频元素

题目&#xff1a; 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例&#xff1a; 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 解题思路&#xff1a; 要返回出现频率前k高的元素&#xff0c;那么我们首…

C++面试冲刺笔记1:虚函数的基本工作原理

C面试冲刺笔记1&#xff1a;虚函数的基本工作原理 前言 ​ 笔者最近开始投简历&#xff0c;出于应对之后快速的面试流程需求&#xff0c;这里准备的是将常见的C八股文进行总结&#xff0c;从而方便自己进行学习&#xff0c;检查和评估。 什么是虚函数 ​ 虚函数&#xff0c;本质…

Spring Boot 事务失效问题详解:原因、场景与解决方案

在 Spring Boot 开发中&#xff0c;事务管理是保证数据一致性和完整性的核心机制。然而&#xff0c;许多开发者在使用 Transactional 注解时&#xff0c;可能会遇到事务失效的问题&#xff0c;导致数据异常或业务逻辑错误。本文将深入分析 Spring Boot 中事务失效的常见原因&am…

Python-文件操作-StringIO和BytesIO-路径操作-shutil模块-csv,ini序列化和反序列化-argparse使用-学习笔记

序 欠4年前的一份学习笔记&#xff0c;献给今后的自己。 文件操作 冯诺依曼体系架构CPU由运算器和控制器组成 运算器&#xff0c;完成各种算数运算、逻辑运算、数据传输等数据加工处理 。 控制器&#xff0c;控制程序的执行 存储器&#xff0c;用于记忆程序和数据&#xff0c;例…

LLM的表征做减法的是什么,自然语言是一个矩阵,怎么进行减法的

LLM的表征做减法的是什么,自然语言是一个矩阵,怎么进行减法的 有个假设:就是最后一个词语融合了前面词语的信息 减法操作主要用于提取模型内部表征中的"诚实性"概念向量。具体来说,这是通过对比诚实和不诚实场景下的模型隐藏状态实现的。 import torch from t…

Java创建型模式---单例模式

单例模式基础概念单例模式是一种创建型设计模式&#xff0c;其核心思想是确保一个类仅有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。在 Java 中实现单例模式主要有以下关键点&#xff1a;私有构造函数 - 防止外部通过new关键字创建实例静态实例变量 - 类内部持有…

详解Kafka重平衡机制详解

Kafka 的重平衡机制&#xff08;Rebalance&#xff09;是确保消费者组内成员动态变化&#xff08;如新成员加入、现有成员退出或崩溃、订阅主题分区数变化&#xff09;时&#xff0c;分区所有权能合理、公平地重新分配的核心机制。其目标是保证所有分区都有消费者处理&#xff…

代码详细注释:文件IO在用户管理系统中的应用实践:C语言实现用户名查重与密码确认与支持日志记录的终端用户认证解决方案的注册登录系统

代码/* 作业增强版注册登录系统 - 带日志和安全性增强功能 */ #include <stdio.h> // 标准输入输出函数(printf, scanf等) #include <stdlib.h> // 标准库函数(exit, malloc等) #include <string.h> // 字符串处理函数(strcmp, strcspn等) #inc…

Go与JS无缝协作:Goja引擎实战之错误处理最佳实践

引言&#xff1a;当Go邂逅JavaScript 在现代软件开发中&#xff0c;跨语言协作已成为提升效率的关键。想象一下&#xff1a;用Go的高性能处理核心逻辑&#xff0c;同时用JavaScript的灵活性实现动态规则——这不再是梦想。Goja&#xff0c;这个纯Go语言实现的JavaScript引擎&am…

继承与多态:面向对象编程的两大支柱

引言&#xff1a;为什么必须掌握继承与多态&#xff1f; 在Java开发中&#xff0c;继承与多态是构建可扩展、易维护系统的基石&#xff1a; 继承&#xff1a;实现代码复用&#xff0c;建立清晰的类层次结构多态&#xff1a;提升代码灵活性&#xff0c;实现"编写一次&#…