Nginx简介
Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。
其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
Nginx代码完全用C语言从头写成。官方数据测试表明能够支持高达 50,000 个并发连接数的响应。
Nginx作用
Nginx有三大作用
- 反向代理
- 负载均衡
- 静动分离
反向代理
正向代理,类似于玩Steam开加速器或者梯子,代理客户端
反向代理,服务器网站代理,代理服务器,不知道真实的服务器IP,类似百度,只知道域名
负载均衡
轮询,服务器请求分配均匀
加权轮询,根据权限比分配服务器请求
静动分离
将静态资源如css,js,图片,动图等放入Nginx,让Nginx渲染资源
安装Nginx
Docker
安装nginx
拉镜像
docker pull nginx
Run一个临时容器拷贝文件
docker run --name nginx -p 8080:80 -d nginx
nginx
配置文件目前都在/etc/nginx/conf.d/*.conf
,因为nginx.conf
的配置文件都指向了这个目录。查看nginx.conf
配置docker exec -it nginx cat /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
拷贝配置文件
mkdir -p /docker/data/nginx
#配置文件
docker cp nginx:/etc/nginx/conf.d /docker/data/nginx
#静态资源-html/js/css
docker cp nginx:/usr/share/nginx/html /docker/data/nginx/staticfile
移除测试容器
docker rm -f nginx
Run容器,8082是自定义端口,可自行添加和配置
docker run -d \
-p 8081:80 \
-p 8082:8082 \
--name nginx \
-v /docker/data/nginx/conf.d:/etc/nginx/conf.d \
-v /docker/data/nginx/staticfile:/usr/share/nginx \
nginx
访问http://192.168.1.5:8081/
,这是conf.d
目录的default.conf
配置文件监听了80端口访问默认界面