Linux下编译安装Nginx

以下是在Linux下编译安装Nginx的详细步骤:

一、安装依赖库

  1. 安装基本编译工具和库
    • 在Debian/Ubuntu系统中,使用以下命令安装:

      复制代码
      sudo apt -y update
      sudo apt -y install build - essential libpcre3 - dev zlib1g - dev libssl - dev
    • 在CentOS/RHEL系统中,执行以下命令:

      复制代码
      sudo yum -y install gcc - c++ pcre - devel zlib - devel openssl - devel
    • build - essential(Debian/Ubuntu)或gcc - c++(CentOS/RHEL)提供了编译Nginx所需的编译器。libpcre3 - dev(Debian/Ubuntu)或pcre - devel(CentOS/RHEL)用于支持正则表达式,Nginx使用它来处理URL匹配等功能。zlib1g - dev(Debian/Ubuntu)或zlib - devel(CentOS/RHEL)用于提供数据压缩功能,Nginx可以使用它来压缩传输的内容,节省网络带宽。libssl - dev(Debian/Ubuntu)或openssl - devel(CentOS/RHEL)用于支持SSL/TLS加密,使Nginx能够提供安全的https服务。

二、下载Nginx源代码

  1. 访问Nginx官方网站(https://nginx.org/),找到下载链接,通常可以使用`wget`命令从命令行下载。例如:
    *

    复制代码
      wget https://nginx.org/download/nginx - <version>.tar.gz
    • (将<version>替换为你想要下载的实际版本号,如nginx - 1.25.3.tar.gz)
  2. 解压下载的文件,使用以下命令:
    *

    复制代码
      tar -zxvf nginx - <version>.tar.gz
    • 解压后会生成一个包含Nginx源代码的目录,如nginx - <version>。

三、配置Nginx

  1. 进入解压后的Nginx源代码目录:
    *

    复制代码
      cd nginx - <version>
  2. 运行配置脚本,根据需求定制Nginx的功能。例如,如果要启用SSL模块、HTTP/2模块等,可以使用以下命令:
    *

    复制代码

    ./configure --prefix=/usr/local/nginx --with - http_ssl_module --with - http_v2_module

    复制代码
    - `--prefix`选项指定Nginx的安装目录,这里是`/usr/local/nginx`。`--with - http_ssl_module`启用SSL模块,用于提供https服务。`--with - http_v2_module`启用HTTP/2模块,提升网络性能。你可以根据自己的需求添加或删除其他模块相关的配置选项。
    - 如果配置过程中出现缺少依赖等错误,需要根据错误提示解决问题后重新运行配置脚本。

四、编译和安装Nginx

  1. 编译Nginx,使用make命令:
    *

    复制代码
      make
    • 编译过程可能需要一些时间,具体取决于系统性能。
  2. 安装Nginx到指定目录,需要使用管理员权限(sudo):
    *

    复制代码
      sudo make install

五、验证安装

  1. 启动Nginx服务,在安装目录下的sbin子目录中有Nginx的可执行文件。例如,如果安装目录是/usr/local/nginx,则可以使用以下命令启动:

    复制代码
      /usr/local/nginx/sbin/nginx
  2. 检查Nginx是否成功启动,可以在浏览器中访问服务器的IP地址(如果是本地测试,可以访问http://localhost)。如果看到Nginx的欢迎页面,说明安装成功。

  3. 还可以使用以下命令检查Nginx进程是否在运行:

    复制代码
      ps -ef | grep nginx
    • 应该能看到Nginx的主进程和工作进程相关的信息。
  4. 如果需要停止Nginx服务,可以使用以下命令(在安装目录下的sbin子目录中):

    复制代码
      /usr/local/nginx/sbin/nginx -s stop
    • 或者使用更优雅的方式来停止(等待正在处理的请求完成后再停止):
    复制代码
      /usr/local/nginx/sbin/nginx -s quit

参考

相关推荐
CANI_PLUS4 小时前
电脑文件共享
运维·服务器
Decay__5 小时前
15_MySQL 数据同步与迁移方案 —— 复制 / DataX / Canal / 异构同步(对标 Oracle GoldenGate)
运维·数据库·sql·mysql·架构
Linux界最忧郁之人5 小时前
华为云ECS&IMS&AS实战|弹性云服务器、私有镜像、弹性伸缩完整实验
linux·运维·服务器·centos·华为云·openstack
后台模板学习5 小时前
GitHub Actions 与 Jenkins 在日志监
运维·github·jenkins
whyutianict_vv5 小时前
零基础转 AI 运维:投入清单、技术路线与核对表
linux·运维·人工智能·ai
无言听风雨丶5 小时前
systemd 与信号 / 僵尸进程:Linux 进程管理的底层逻辑与排错
linux·服务器·网络
DevOpenClub5 小时前
高考一分一段 API:分数查位次、科类枚举与历史对照
linux·数据库·高考
小贾要学习6 小时前
【C++后端开发项目】Reactor 模型 / C++ 仿写 muduo HTTP 服务器:让底层网络库真正跑起网页
linux·服务器·c++·http·网络编程·muduo·reactor模型
Blockbuater_drug6 小时前
OpenMM分子动力学模拟02 安装:Linux:conda 一条命令装通 GPU 加速的分子模拟环境
linux·conda·cuda·gpu驱动·pythonpath·openmm安装
杨云龙UP6 小时前
Oracle 同义词(SYNONYM)详解及 Toad for Oracle SQL 智能补全配置实战
运维·数据库·sql·oracle·同义词·toad·toad for oracle