文章目录
展开
Nginx简介
Nginx(发音为“engine X”)是一个高性能、可伸缩的Web服务器和反向代理服务器,它在全球范围内广泛使用于许多网站、应用程序和云服务中。Nginx的设计旨在处理高并发、大规模请求的网络应用,并且可以做到低内存消耗和高扩展性。它通常用作负载均衡器、HTTP缓存服务器、反向代理服务器和SMTP代理服务器等。
完整安装
安装完整版的nginx源码需要执行以下步骤:
1、安装必要的依赖项
在安装Nginx之前,需要确保系统已经安装了必要的依赖包。例如:
sudo apt update sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
2、下载nginx源码
可以从Nginx官方网站下载最新版本的Nginx源码压缩包,例如:
wget http://nginx.org/download/nginx-1.20.1.tar.gz
3、解压源码
使用tar命令解压下载的源码压缩包:
tar -zxvf nginx-1.20.1.tar.gz
4、编译安装
进入解压后的Nginx源码目录,执行如下命令:
cd nginx-1.20.1 ./configure \ --prefix=/usr/local/nginx \ # 指定nginx安装路径 --with-pcre \ # 启用PCRE支持 --with-zlib \ # 启用zlib支持 --with-http_ssl_module \ # 启用HTTP SSL支持 --with-http_stub_status_module \ # 启用HTTP状态页支持 --with-http_gzip_static_module \ # 启用HTTP Gzip压缩支持 --with-http_realip_module \ # 启用HTTP realip支持 --with-http_addition_module \ # 启用HTTP添加HTTP信息支持 --with-http_sub_module \ # 启用HTTP Substitution支持 --with-stream \ # 启用Stream模块 --with-stream_ssl_module \ # 启用Stream SSL支持 --with-stream_realip_module \ # 启用Stream realip支持 --with-stream_ssl_preread_module \ # 启用Stream SSL预读模块 --with-threads \ # 多线程支持 --with-file-aio \ # 启用异步文件IO --with-compat \ # 兼容之前的软件版本 --with-pcre-jit \ # 启用PCRE JIT优化,增加正则表达式性能 --with-http_v2_module \ # 启用HTTP/2支持 --with-http_auth_request_module \ # 启用内建的HTTP身份认证请求模块 --with-http_slice_module # 启用HTTP切片支持 make sudo make install
上述命令中,--prefix=/usr/local/nginx
指定了安装路径。执行make命令后,将会开始编译Nginx。
更多参数说明,请参考《2023年Nginx所有编译参数最新整理》
5、配置服务
主要涉及Nginx的配置文件nginx.conf,先将其备份:
sudo mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.old
编辑一个新的nginx.conf文件:
sudo vi /usr/local/nginx/conf/nginx.conf
在新的配置文件中添加以下内容:
worker_processes auto; error_log /usr/local/nginx/logs/error.log; pid /usr/local/nginx/logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name example.com; root /var/www/html; index index.html; location / { try_files $uri $uri/ =404; } } }
上面的配置文件中包含了一个简单的HTTP服务的配置,监听80端口,服务器名为 example.com,根目录为 /var/www/html,索引文件为 index.html。同时还定义了访问的规则,通过location指令,当访问路径为 / 时,Nginx将会试图寻找请求的文件,如果不存在,则返回404错误。
6、启动Nginx
执行如下命令启动Nginx服务:
sudo /usr/local/nginx/sbin/nginx
此时,Nginx服务已经启动,可以通过访问 http://example.com 访问到Nginx服务返回的页面。
如果需要停止Nginx服务,可以执行:
sudo /usr/local/nginx/sbin/nginx -s stop
如果需要重启Nginx服务,则执行:
sudo /usr/local/nginx/sbin/nginx -s reload