linux编译安装nginx
前言
- 系统:centos7和debian11均验证可行
- 本文将nginx默认支持的编译参数都加上了,所以需要的依赖比较多,酌情配置。
步骤
- 假设安装在
/usr/local/nginx
,创建安装目录
mkdir -p /usr/local/nginx
- 下载源码包:http://nginx.org/en/download.html
- 安装依赖包:
# 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
- 预编译:
./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
- 编译:
make
- 编译安装:
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
本文来自博客园,作者:花酒锄作田,转载请注明原文链接:https://www.cnblogs.com/XY-Heruo/p/14060637.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示