Ubuntu安装Nginx
1、安装依赖
sudo apt-get update #安装依赖:gcc、g++依赖库 sudo apt-get install build-essential libtool #安装 pcre依赖库(http://www.pcre.org/) sudo apt-get install libpcre3 libpcre3-dev #安装 zlib依赖库(http://www.zlib.net) sudo apt-get install zlib1g-dev #安装ssl依赖库 sudo apt-get install openssl libssl-dev
(1)PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式,那么在编译Nginx时就必须把PCRE库编译进Nginx,因为Nginx的HTTP模块需要靠它来解析正则表达式。另外,pcre-devel是使用PCRE做二次开发时所需要的开发库,包括头文件等,这也是编译Nginx所必须使用的
(2)zlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf中配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量,则在编译时就必须把zlib编译进Nginx
(3)如果服务器不只是要支持HTTP,还需要在更安全的SSL协议上传输HTTP,那么需要拥有OpenSSL。另外,如果我们想使用MD5、SHA1等散列函数,那么也需要安装它
2、下载解压 http://nginx.org/en/download.html
#下载 sudo wget http://nginx.org/download/nginx-1.20.2.tar.gz #解压 sudo tar -zxvf nginx-1.20.2.tar.gz cd nginx-1.20.2
(1)mianline版本,版本号中间数字一般为奇数,更新快,一个月就会发布一个新版本,最新功能,bug修复等,稳定性差点。
(2)stable版本:稳定版,版本号中间数字一般为偶数。经过了长时间的测试,比较稳定,商业化环境中使用这种版本。
(3)Lengacy版本,遗产,遗留版本,以往的老版本。
3、编译Nginx信息
sudo vim src/core/nginx.h #修改前 #define nginx_version 1020002 #define NGINX_VERSION "1.20.2" #define NGINX_VER "nginx/" NGINX_VERSION #修改后 #define nginx_version 1020002 #define NGINX_VERSION "1.20.2" #define NGINX_VER "Web Server/" NGINX_VERSION #版本号也可以去掉,为了方便查看,我选择了保留
sudo vim src/http/ngx_http_header_filter_module.c #修改前 static u_char ngx_http_server_string[] = "Server: nginx" CRLF; static u_char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF; static u_char ngx_http_server_build_string[] = "Server: " NGINX_VER_BUILD CRLF; #修改后 static u_char ngx_http_server_string[] = "Server: Web Server" CRLF; static u_char ngx_http_server_full_string[] = "Server: Web Server" CRLF; static u_char ngx_http_server_build_string[] = "Server: Web Server" CRLF;
sudo vim src/http/ngx_http_special_response.c #注意修改后无引号,因为修改前NGINX_VER为变量 #修改前 static u_char ngx_http_error_full_tail[] = "" NGINX_VER "" CRLF "