介绍
- Nginx 是一款轻量级的 HTTP,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的 IO 性能,时常用于服务端的反向代理和负载均衡
优点
- 轻量级 Nginx相比Apache,并发性更好,CPU内存占用更少。但是对于批量的rewrite请求,Apache相应效率更高。
- 高扩展性 Nginx的设计极具扩展性,它完全是由多个不同功能、不同层次、不同类型且耦合度极低的模块组成。因此,当对某一个模块修复Bug或进行升级时,可以专注于模块自身,无须在意其他。
- 高可靠性 Nginx的高可靠性来自于其核心框架代码的优秀设计、模块设计的简单性;官方提供的常用模块都非常稳定,每个worker进程相对独立,master进程在1个worker进程出错时可以快速“拉起”新的worker子进程提供服务。
- 热部署 Nginx能够提供热部署功能,即可以在7×24小时不间断服务的前提下,升级Nginx的可执行文件。并且也支持不停止服务就更新配置项、更换日志文件等功能
自动安装
- sudo apt-get install nginx,安装完以后,输入
whereis nginx
查看Nginx的安装位置,其中的nginx.conf
为Nginx的配置文件。
手动编译安装
- 手动编译安装Nginx,手动编译安装Nginx比较复杂,但是平时一般使用最多。主要原因是便于管理、模块可控。
- 安装build-essential:sudo apt-get install build-essential
- 安装libpcre3和libpcre3-dev:sudo apt-get install libpcre3 libpcre3-dev
- 安装 zlib1g-dev:sudo apt-get install zlib1g-dev
- 安装openssl和libssl-dev库:udo apt-get install openssl libssl-dev
- 下载Nginx源码: nginx ,在官网选择对应版本,① wget "http://nginx.org/download/nginx-1.27.3.tar.gz",② 解压:tar -xf nginx-1.27.3.tar.gz,③ cd nginx-1.27.3
- 编译:--prefix:Nginx主要安装路径,--user:设置Nginx进程启动时,所属的用户,--group:设置Nginx进程启动时,所属的用户组,以下是参考参数,
1 | ./configure \--prefix=/etc/nginx \--sbin-path=/usr/sbin/nginx \--conf-path=/etc/nginx/nginx.conf \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--pid-path=/var/run/nginx.pid \--lock-path=/var/run/nginx.lock \--http-client-body-temp-path=/var/cache/nginx/client_temp \--http-proxy-temp-path=/var/cache/nginx/proxy_temp \--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \--http-scgi-temp-path=/var/cache/nginx/scgi_temp \--user=www \--group=www \--with-file-aio \--with-threads \--with-http_addition_module \--with-http_auth_request_module \--with-http_dav_module \--with-http_flv_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_mp4_module \--with-http_random_index_module \--with-http_realip_module \--with-http_secure_link_module \--with-http_slice_module \--with-http_ssl_module \--with-http_stub_status_module \--with-http_sub_module \--with-http_v2_module \--with-mail \--with-mail_ssl_module \--with-stream \--with-stream_realip_module \--with-stream_ssl_module \--with-stream_ssl_preread_module |
- makefile
常用Nginx命令
命令 | 释义 |
---|---|
nginx | 打开 nginx |
nginx -t | 测试配置文件是否有语法错误 |
nginx -s reopen | 重启Nginx |
nginx -s reload | 重新加载Nginx配置文件 |
nginx -s stop | 强制停止Nginx服务 |
nginx -s quit | 安全地停止Nginx服务(即处理完所有请求后再停止服务) |
如何卸载Nginx
- dpkg卸载Nginx:sudo apt-get remove nginx
- 编译卸载Nginx:① nginx -s quit ② sudo rm -rf /etc/nginx