Linux安装Nginx及基本配置
Linux安装Nginx及基本配置
本篇文章详细介绍一下Nginx安装的一些配置
环境:CentOS7.9 nginx-1.26.1
安装包如下
linux:nginx-1.26.1.tar.gz
windows:nginx-1.26.1.zip
1.安装Nginx
首先来到Nginx压缩包的目录
tar -zxvf nginx-1.26.1.tar.gz #解压文件
cd nginx-1.26.1
yum install -y gcc automake autoconf libtool make # 安装c编译环境
yum -y install pcre-devel zlib zlib-devel openssl openssl-devel gd gd-devel #安装依赖
依赖简介:
- pcre Nginx的
rewrite
模块和http核心模块使用PCRE库做正则表达式 - zlib 提供实现压缩和解压的算法
- OpenSSL 用于安全通信类软件开发,可以实现对称和非对称加解密,提供网络上的加密通信传输
- gd-deyel 提供GD库处理图片
然后是配置./configure
下面是它全部的参数
--prefix=PATH 设置安装前缀
--sbin-path=PATH 设置 nginx 二进制路径名
--modules-path=PATH 设置模块路径
--conf-path=PATH 设置 nginx.conf 路径名
--error-log-path=PATH 设置错误日志路径名
--pid-path=PATH 设置 nginx.pid 路径名
--lock-path=PATH 设置 nginx.lock 路径名
--user=USER 为工作进程设置非特权用户
--group=GROUP 为工作进程设置非特权组
--build=NAME 设置构建名称
--builddir=DIR 设置构建目录
--with-select_module 启用选择模块
--without-select_module 禁用选择模块
--with-poll_module 启用轮询模块
--without-poll_module 禁用轮询模块
--with-threads 启用线程池支持
--with-file-aio 启用文件 AIO 支持
--without-quic_bpf_module 禁用 ngx_quic_bpf_module
--with-http_ssl_module 启用 ngx_http_ssl_module
--with-http_v2_module 启用 ngx_http_v2_module
--with-http_v3_module 启用 ngx_http_v3_module
--with-http_realip_module 启用 ngx_http_realip_module
--with-http_addition_module 启用 ngx_http_addition_module
--with-http_xslt_module 启用 ngx_http_xslt_module
--with-http_xslt_module=dynamic 启用动态 ngx_http_xslt_module
--with-http_image_filter_module 启用 ngx_http_image_filter_module
--with-http_image_filter_module=dynamic 启用动态 ngx_http_image_filter_module
--with-http_geoip_module 启用 ngx_http_geoip_module
--with-http_geoip_module=dynamic 启用动态 ngx_http_geoip_module
--with-http_sub_module 启用 ngx_http_sub_module
--with-http_dav_module 启用 ngx_http_dav_module
--with-http_flv_module 启用 ngx_http_flv_module
--with-http_mp4_module 启用 ngx_http_mp4_module
--with-http_gunzip_module 启用 ngx_http_gunzip_module
--with-http_gzip_static_module 启用 ngx_http_gzip_static_module
--with-http_auth_request_module 启用 ngx_http_auth_request_module
--with-http_random_index_module 启用 ngx_http_random_index_module
--with-http_secure_link_module 启用 ngx_http_secure_link_module
--with-http_degradation_module 启用 ngx_http_degradation_module
--with-http_slice_module 启用 ngx_http_slice_module
--with-http_stub_status_module 启用 ngx_http_stub_status_module
--without-http_charset_module 禁用 ngx_http_charset_module
--without-http_gzip_module 禁用 ngx_http_gzip_module
--without-http_ssi_module 禁用 ngx_http_ssi_module
--without-http_userid_module 禁用 ngx_http_userid_module
--without-http_access_module 禁用 ngx_http_access_module
--without-http_auth_basic_module 禁用 ngx_http_auth_basic_module
--without-http_mirror_module 禁用 ngx_http_mirror_module
--without-http_autoindex_module 禁用 ngx_http_autoindex_module
--without-http_geo_module 禁用 ngx_http_geo_module
--without-http_map_module 禁用 ngx_http_map_module
--without-http_split_clients_module 禁用 ngx_http_split_clients_module
--without-http_referer_module 禁用 ngx_http_referer_module
--without-http_rewrite_module 禁用 ngx_http_rewrite_module
--without-http_proxy_module 禁用 ngx_http_proxy_module
--without-http_fastcgi_module 禁用 ngx_http_fastcgi_module
--without-http_uwsgi_module 禁用 ngx_http_uwsgi_module
--without-http_scgi_module 禁用 ngx_http_scgi_module
--without-http_grpc_module 禁用 ngx_http_grpc_module
--without-http_memcached_module 禁用 ngx_http_memcached_module
--without-http_limit_conn_module 禁用 ngx_http_limit_conn_module
--without-http_limit_req_module 禁用 ngx_http_limit_req_module
--without-http_empty_gif_module 禁用 ngx_http_empty_gif_module
--without-http_browser_module 禁用 ngx_http_browser_module
--without-http_upstream_hash_module 禁用 ngx_http_upstream_hash_module
--without-http_upstream_ip_hash_module 禁用 ngx_http_upstream_ip_hash_module
--without-http_upstream_least_conn_module 禁用 ngx_http_upstream_least_conn_module
--without-http_upstream_random_module 禁用 ngx_http_upstream_random_module
--without-http_upstream_keepalive_module 禁用 ngx_http_upstream_keepalive_module
--without-http_upstream_zone_module 禁用 ngx_http_upstream_zone_module
--with-http_perl_module 启用 ngx_http_perl_module
--with-http_perl_module=dynamic 启用动态 ngx_http_perl_module
--with-perl_modules_path=PATH 设置 Perl 模块路径
--with-perl=PATH 设置 perl 二进制路径名
--http-log-path=PATH 设置 HTTP 访问日志路径名
--http-client-body-temp-path=PATH 设置存储 HTTP 客户端请求主体临时文件的路径
--http-proxy-temp-path=PATH 设置存储 HTTP 代理临时文件的路径
--http-fastcgi-temp-path=PATH 设置存储 HTTP fastcgi 临时文件的路径
--http-uwsgi-temp-path=PATH 设置存储 HTTP uwsgi 临时文件的路径
--http-scgi-temp-path=PATH 设置存储 HTTP scgi 临时文件的路径
--without-http 禁用 HTTP 服务器
--without-http-cache 禁用 HTTP 缓存
--with-mail 启用 POP3/IMAP4/SMTP 代理模块
--with-mail=dynamic 启用动态 POP3/IMAP4/SMTP 代理模块
--with-mail_ssl_module 启用 ngx_mail_ssl_module
--without-mail_pop3_module 禁用 ngx_mail_pop3_module
--without-mail_imap_module 禁用 ngx_mail_imap_module
--without-mail_smtp_module 禁用 ngx_mail_smtp_module
--with-stream 启用 TCP/UDP 代理模块
--with-stream=dynamic 启用动态 TCP/UDP 代理模块
--with-stream_ssl_module 启用 ngx_stream_ssl_module
--with-stream_realip_module 启用 ngx_stream_realip_module
--with-stream_geoip_module 启用 ngx_stream_geoip_module
--with-stream_geoip_module=dynamic 启用动态 ngx_stream_geoip_module
--with-stream_ssl_preread_module 启用 ngx_stream_ssl_preread_module
--without-stream_limit_conn_module 禁用 ngx_stream_limit_conn_module
--without-stream_access_module 禁用 ngx_stream_access_module
--without-stream_geo_module 禁用 ngx_stream_geo_module
--without-stream_map_module 禁用 ngx_stream_map_module
--without-stream_split_clients_module 禁用 ngx_stream_split_clients_module
--without-stream_return_module 禁用 ngx_stream_return_module
--without-stream_pass_module 禁用 ngx_stream_pass_module
--without-stream_set_module 禁用 ngx_stream_set_module
--without-stream_upstream_hash_module 禁用 ngx_stream_upstream_hash_module
--without-stream_upstream_least_conn_module 禁用 ngx_stream_upstream_least_conn_module
--without-stream_upstream_random_module 禁用 ngx_stream_upstream_random_module
--without-stream_upstream_zone_module 禁用 ngx_stream_upstream_zone_module
--with-google_perftools_module 启用 ngx_google_perftools_module
--with-cpp_test_module 启用 ngx_cpp_test_module
--add-module=PATH 启用外部模块
--add-dynamic-module=PATH 启用动态外部模块
--with-compat 动态模块兼容性
--with-cc=PATH 设置 C 编译器路径名
--with-cpp=PATH 设置 C 预处理器路径名
--with-cc-opt=OPTIONS 设置其他 C 编译器选项
--with-ld-opt=OPTIONS 设置其他链接器选项
--with-cpu-opt=CPU 为指定的 CPU 构建,有效值:
pentium, pentiumpro, pentium3, pentium4,
athlon, opteron, sparc32, sparc64, ppc64
--without-pcre 禁用 PCRE 库使用
--with-pcre 强制使用 PCRE 库
--with-pcre=DIR 设置 PCRE 库源的路径
--with-pcre-opt=OPTIONS 设置 PCRE 的其他构建选项
--with-pcre-jit 构建具有 JIT 编译支持的 PCRE
--without-pcre2 不使用 PCRE2 库
--with-zlib=DIR 设置 zlib 库源的路径
--with-zlib-opt=OPTIONS 设置 zlib 的其他构建选项
--with-zlib-asm=CPU 使用针对指定 CPU 优化的 zlib 汇编源代码,有效值:
pentium, pentiumpro
--with-libatomic 强制使用 libatomic_ops 库
--with-libatomic=DIR 设置 libatomic_ops 库源的路径
--with-openssl=DIR 设置 OpenSSL 库源的路径
--with-openssl-opt=OPTIONS 设置 OpenSSL 的其他构建选项
--with-debug 启用调试日志记录
根据需求进行配置
./configure --with-stream --with-http_realip_module --with-stream_ssl_module --with-http_ssl_module --with-http_ssl_module
最后进行安装
make & make install
nginx就安装完成了
2.配置文件
nginx.conf
... #全局配置
events{ #events块配置
...
}
http{ #http块配置
... #http全局配置
server{ #server块配置
... #server全局配置
location [path]{ #location块配置
...
}
}
}
3.命令
export PATH=$PATH:/usr/local/nginx/sbin #配置环境变量
nginx #启动nginx
nginx -s stop #立刻退出
nginx -s quit #处理完全部连接请求后退出
nginx -s reload #重载配置文件
nginx -s rreopen #重新打开日志文件
nginx -p #设置新的根目录
nginx -c #用于指定配置文件
nginx -g #用于将全局配置放在命令行中