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
相关文章
|
10天前
|
应用服务中间件 nginx Docker
Docker镜像-基于DockerFile制作编译版nginx镜像
这篇文章介绍了如何基于Dockerfile制作一个编译版的nginx镜像,并提供了详细的步骤和命令。
85 17
Docker镜像-基于DockerFile制作编译版nginx镜像
|
10天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
20天前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
9天前
|
Ubuntu Linux Shell
Linux系统命令 安装和文件相关命令
本文档详细介绍了Linux系统中的常用命令,包括软件安装卸载命令如`dpkg`和`apt-get`,压缩与解压命令如`gzip`、`bzip2`和`xz`,以及`tar`命令用于打包和解包。此外还介绍了文件分割命令`split`,文件操作命令如`cat`、`head`、`tail`、`more`、`less`等,管道命令和`wc`、`grep`、`find`、`cut`、`sort`、`uniq`、`diff`等实用工具。最后,文档还讲解了文件属性相关的命令如`chmod`、`chown`、`chgrp`以及创建硬链接和软链接的`ln`命令。
|
10天前
|
Linux
用clang编译Linux内核
用clang编译Linux内核
|
15天前
|
Linux TensorFlow 算法框架/工具
在Linux上安装其他版本的cmake 或 升级cmake
在Linux上安装其他版本的cmake 或 升级cmake
24 2
|
15天前
|
人工智能 Linux 开发工具
Linux安装Taiyi stable-diffusion-webui
Linux安装Taiyi stable-diffusion-webui
|
15天前
|
Ubuntu Linux 虚拟化
安装Windows Linux 子系统的方法:适用于windows 11 版本
本文提供了在Windows 11系统上安装Linux子系统(WSL)的详细步骤,包括启用子系统和虚拟化功能、从Microsoft Store安装Linux发行版、设置WSL默认版本、安装WSL2补丁,以及完成Ubuntu的首次安装设置。
51 2
|
16天前
|
Linux C语言
深度探索Linux操作系统 —— 编译过程分析
深度探索Linux操作系统 —— 编译过程分析
14 2
|
16天前
|
缓存 应用服务中间件 nginx
安装nginx-http-flv-module模块
本文介绍如何为Nginx安装`nginx-http-flv-module`模块。此模块基于`nginx-rtmp-module`二次开发,不仅具备原模块的所有功能,还支持HTTP-FLV播放、GOP缓存、虚拟主机等功能。安装步骤包括:确认Nginx版本、下载相应版本的Nginx与模块源码、重新编译Nginx并加入新模块、验证模块安装成功。特别注意,此模块已包含`nginx-rtmp-module`功能,无需重复编译安装。
50 1