linux编译安装nginx

简介: linux编译安装nginx

前言

  • 系统:centos7和debian11均验证可行
  • 本文将nginx默认支持的编译参数都加上了,所以需要的依赖比较多,酌情配置。

步骤

  1. 假设安装在/usr/local/nginx,创建安装目录
mkdir -p /usr/local/nginx
  1. 下载源码包:http://nginx.org/en/download.html
  2. 安装依赖包:
# yum
yum -y install gcc pcre-devel zlib-devel openssl-devel libxml2-devel libxslt-devel gd-devel GeoIP-devel jemalloc-devel libatomic_ops-devel perl-devel perl-ExtUtils-Embeb
# apt
apt install -y libpcre3-dev openssl libssl-dev libxml2-dev libgd-dev libxml2 libgeoip-dev libxslt-dev
  1. 预编译:
./configure \
    --with-threads \
    --with-file-aio \
    --with-http_ssl_module \
    --with-http_v2_module \
    --with-http_realip_module \
    --with-http_addition_module \
    --with-http_xslt_module=dynamic \
    --with-http_image_filter_module=dynamic \
    --with-http_geoip_module=dynamic \
    --with-http_sub_module \
    --with-http_dav_module \
    --with-http_flv_module \
    --with-http_mp4_module \
    --with-http_gunzip_module \
    --with-http_gzip_static_module \
    --with-http_auth_request_module \
    --with-http_random_index_module \
    --with-http_secure_link_module \
    --with-http_degradation_module \
    --with-http_slice_module \
    --with-http_stub_status_module \
    --with-stream_ssl_module \
    --with-stream_realip_module \
    --with-stream_geoip_module=dynamic \s
    --with-stream_ssl_preread_module \
    --with-compat \
    --with-pcre-jit \
    --prefix=/usr/local/nginx
  1. 编译:make
  2. 编译安装:make install

配置文件简单优化

  • 启动进程数,通常设置成和CPU的数量相等或者auto
worker_processes auto;
worker_cpu_affinity auto;
  • nginx打开的最多文件描述符数量(一个nginx打开的最多文件描述符数目,理论值应为最多打开文件数与nginx进程数相除,但nginx分配请求并不均匀,可以与 ulimit -n 的值保持一致)
worker_rlimit_nofile 102400;
  • event块
events {
    use epoll;(epoll是多路复用IO的一种方式,但是仅用于linux 2.6以上版本的内核,可以大幅提高nginx的性能)
    worker_connections 102400;(单个工作进程的最大并发连接数。最大连接数 = 连接数 * 进程数)
    accept_mutex on;(对多个nginx进程进行序列化,避免多个进程对连接的争抢。)
    multi_accept on;(尽可能地接受请求)
}

基础命令

  • nginx -t:检查nginx配置文件是否语法正确
  • nginx -c /usr/local/nginx/conf/nginx.conf:指定nginx配置文件
  • nginx -s reload:热加载nginx配置
  • nginx -s quit:安全停止nginx
相关文章
|
6天前
|
Linux
手把手教会你安装Linux系统
手把手教会你安装Linux系统
|
12天前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
267 67
|
2天前
|
JSON JavaScript Linux
Linux系统之安装cook菜谱工具
【10月更文挑战第15天】Linux系统之安装cook菜谱工具
11 2
Linux系统之安装cook菜谱工具
|
4天前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
25 4
Linux系统之Ubuntu安装cockpit管理工具
|
5天前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
24 1
Linux系统之Centos7安装cockpit图形管理界面
|
11天前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
61 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
13天前
|
存储 Oracle 关系型数据库
|
6天前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
17 5
|
4天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
22 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
6天前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。