源码安装Nginx

Article6天前更新 Done
24 00

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
源码安装Nginx
© 版权声明

相关文章

暂无评论

none
暂无评论...