Nginx(“engine x”)是一个高性能的HTTP和反向代理服务器。
- 特点是占有内存少,并发能力强。
- Nginx可以作为静态页面的Web服务器,同时还支持CGI协议的动态语言,比如Perl、PHP等。
- 但是不支持Java。Java程序只能通过与Tomcat配合完成。
- Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。
应用场景:
- http服务器:Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
- 虚拟主机:可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
- 反向代理:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理
- 负载均衡:多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
- 动静分离:为了加快网站的解析速度,将静态页面和动态页面由不同的服务器来解析,加快解析速度,降低服务器压力。
master发布任务woker进行争抢,一个master和多个woker特点:
- 可以使用nginx -s reload,利于热部署;
- 每个woker都是一个单独的进程,不需加锁,其中1个出问题不影响其他
- woker数量和CPU数量相等可以发挥cpu的最大性能
- woker connection发送请求一般占用2个连接数(静态访问)或者4个连接数(动态访问)
nginx源码包下载地址:http://nginx.org/download/
部署
安装依赖环境
- ubuntu版
apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
下载源码包
wget https://nginx.org/download/nginx-1.27.1.tar.gz
解压并进入目录
tar -zxf nginx-1.27.1.tar.gz && cd nginx-1.27.1
创建管理用户www
useradd -s /sbin/nologin www
编译(指定用户/开启ssl模块/开启用户认证模块)
./configure --user=www --group=www --with-http_ssl_module --with-http_auth_request_module && make && make install
加入systemctl管理
- 编辑内容
cat <<EOF> /etc/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
- 重新加载systemctl
systemctl daemon-reload
启动服务
systemctl enable --now nginx
查看状态
systemctl status nginx
查看端口是否开启
ss -ltun
访问测试
http://ip
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...