nginx 学习
nginx 学习
https://vip.tulingxueyuan.cn/detail/v_60339f2ce4b029faba198b7a/3
https://vip.tulingxueyuan.cn/detail/p_602e51fde4b029faba186364/6
https://blog.csdn.net/qq_29677867/article/details/90112120
1. nginx 简介
NGinx官网 https://www.nginx.com/
Nginx 是一款高性能的HTTP服务器和反向代理服务器,同时支持IMAP/POP3/SMTP代理服务
Nginx 应用场景

1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
1.1 nginx处理请求逻辑图

1.2 nginx可以提供的服务
- web 服务.
- 负载均衡 (反向代理)
- web cache(web 缓存)
1.3 nginx 的优点
- 高并发。静态小文件
- 占用资源少。2万并发、10个线程,内存消耗几百M。
- 功能种类比较多。web,cache,proxy。每一个功能都不是特别强。
- 支持epoll模型,使得nginx可以支持高并发。
- nginx 配合动态服务和Apache有区别。(FASTCGI 接口)
- 利用nginx可以对IP限速,可以限制连接数。
- 配置简单,更灵活。
1.4 nginx应用场合
- 静态服务器(图片,视频服务),另个lighttpd。并发几万,html,js,css,flv,jpg,gif等。
- 动态服务,nginx—fastcgi 方式运行PHP,jsp。(PHP并发约500-1500,MySQL 并发约300-1500)。
- 反向代理,负载均衡。日pv2000W以下,都可直接用nginx做代理。
- 缓存服务。类似 SQUID,VARNISH。
2. nginx 安装
下载官网:https://nginx.org/en/download.html
通过 https://www.runoob.com/w3cnote/openresty-intro.html openresty 安装 nginx
2.1 首先 创建文件 制作自动安装脚本 vim openresty.sh
yum install -y pcre-devel openssl-devel gcc curl
cd /usr/local/
wget https://openresty.org/download/openresty-1.17.8.2.tar.gz
cd /usr/local/
tar -zxvf openresty-1.17.8.2.tar.gz
cd /usr/local/
mv openresty-1.17.8.2 openresty
cd /usr/local/openresty/
./configure --with-luajit \
--without-http_redis2_module \
--with-http_iconv_module
cd /usr/local/openresty/
make && make install
2.2赋予执行文件 chmod +x openresty.sh
运行即可 ./openresty.sh
然后修改环境
$ vi /etc/profile
export PATH=/usr/local/openresty/nginx/sbin:$PATH
$ source /etc/profile
OK至此结束 配置完成 可以在 cd /usr/local/openresty/ 目录下找到NGinx 启动他就ok了
这个脚本可以复用 下次直接 赋予执行文件配置 环境即可 虚拟机内
nginx 配置文件
配置基础配置文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
nginx代理模式
nginx负载均衡
Nginx限流
nginx动静分离
Nginx 调优+镜像服务器
nginx热备
nginx安全认证
js分公司Nginx 配置
nginx上传附件报错
上传出现 Request Entity Too Large
include mime.types;
default_type application/octet-stream;
tcp_nopush on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml image/x-icon application/javascript;
gzip_vary on;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 120;
proxy_connect_timeout 30;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_buffer_size 512k;
proxy_buffers 32 512k;
proxy_busy_buffers_size 512k;
client_max_body_size 200m;
underscores_in_headers on;
#gzip on;
server {
##....
}
##
}
异常
1.附加上传:解决 413 Request Entity Too Large(请求实体太大)
nginx.conf配置文件,打开 在http{}中加入 client_max_body_size 10m;
然后重启nginx =====>
/usr/local/nginx/sbin
./nginx -s reload