一、Nginx简介
Nginx(engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务器。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
Nginx特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。
Nginx相对于Apache优点如下:
1)高并发响应性能非常好,官方Nginx处理静态文件并发5w/s;
2)负载均衡及反向代理性能非常强;
3)系统内存和CPU占用率低;
4)可对后端服务进行健康检查;
5)支持PHP cgi方式和FastCGI方式;
6)可以作为缓存服务器、邮件代理服务器;
7)配置代码简洁且容易上手;
8)支持SSL和TLSSNI。
二、安装Nginx
1、方式一
1)更新系统
root@debian:~# apt update -y
2)安装Nginx
root@debian:~# apt -y install nginx
注意:Nginx安装完成后,默认已启动,默认开机启动。
3)查看Nginx状态
root@debian:~# systemctl status nginx
4)访问Nginx
# 打开浏览器输入http://192.168.3.140,如下图所示
2、方式二
1、安装依赖包
root@debian:~# apt -y install wget gcc make openssl libssl-dev libpcre3 libpcre3-dev libgd-dev
2、下载Nginx安装包
root@debian:~# wget http://nginx.org/download/nginx-1.26.2.tar.gz
3、解压软件包
root@debian:~# tar xf nginx-1.26.2.tar.gz
4、创建Nginx用户
root@debian:~# useradd -s /sbin/nologin nginx
5、预编译
root@debian:~# cd nginx-1.26.2
root@debian:~/nginx-1.26.2# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-stream --with-pcre --with-http_gzip_static_module --with-http_realip_module
6、编译及安装
root@debian:~/nginx-1.26.2# make -j$(nproc) && make install
7、配置nginx.conf
root@debian:~/nginx-1.26.2# vim /usr/local/nginx/conf/nginx.conf
user nginx nginx;
worker_processes auto;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 10240;
multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
log_format json escape=json
'{"访问者IP":"$remote_addr",'
'"访问时间":"$time_iso8601",'
'"访问页面":"$uri",'
'"请求返回时间":"$request_time/S",'
'"请求方法类型":"$request_method",'
'"请求状态":"$status",'
'"请求体大小":"$body_bytes_sent/B",'
'"访问者搭载的系统配置和软件类型":"$http_user_agent",'
'"虚拟服务器IP":"$server_addr"}';
access_log /usr/local/nginx/logs/access.log json;
error_log /usr/local/nginx/logs/error.log warn;
sendfile on;
tcp_nopush on;
keepalive_timeout 120;
tcp_nodelay on;
server_tokens off;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 64k;
gzip_http_version 1.1;
gzip_comp_level 4;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
client_max_body_size 512m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
large_client_header_buffers 4 4k;
client_header_buffer_size 4k;
open_file_cache_valid 30s;
open_file_cache_min_uses 1;
include /usr/local/nginx/conf.d/*.conf;
}
8、配置default.conf
root@debian:~/nginx-1.26.2# mkdir -p /usr/local/nginx/conf.d
root@debian:~/nginx-1.26.2# vim /usr/local/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
access_log /usr/local/nginx/logs/access_default.log json;
error_log /usr/local/nginx/logs/error_default.log warn;
location / {
root html;
index index.html index.htm;
}
}
9、配置系统服务
root@debian:~/nginx-1.26.2# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=Nginx Server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
10、启动Nginx
root@debian:~/nginx-1.26.2# systemctl daemon-reload
root@debian:~/nginx-1.26.2# systemctl start nginx
root@debian:~/nginx-1.26.2# systemctl enable nginx
11、访问Nginx默认测试页面
# 打开浏览器输入http://192.168.3.140,如下图所示
12、查看Nginx访问日志
root@debian:~/nginx-1.26.2# apt -y install jq
root@debian:~/nginx-1.26.2# tail /usr/local/nginx/logs/access_default.log |jq
13、服务管理
1)启动服务
root@debian:~/nginx-1.26.2# systemctl start nginx
2)停止服务
root@debian:~/nginx-1.26.2# systemctl stop nginx
3)重载服务
root@debian:~/nginx-1.26.2# systemctl reload nginx
4)重启服务
root@debian:~/nginx-1.26.2# systemctl restart nginx
5)开机启动
root@debian:~/nginx-1.26.2# systemctl enable nginx
6)禁止开机启动
root@debian:~/nginx-1.26.2# systemctl disable nginx
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!
评论