首页 > 系统相关 >Nginx网站服务

Nginx网站服务

时间:2024-05-30 20:22:21浏览次数:27  
标签:服务 nginx 网站 worker http Nginx usr --

目录
Nginx是一款高性能、轻量级Web服务软件;稳定性高;系统资源消耗低;对HTTP并发连接的处理能力高(单台物理服务器可支持30 000~50000个并发请求)。

1.Nginx服务基础

(1)Nginx与Apache的区别

Nginx采用异步非阻塞机制,多个连接可以对应一个进程;Apache采用同步多进程/线程模型,一个连接对应一个进程。
Nginx抗并发能力更高;更轻量,内存、CPU资源消耗更少;配置简洁,使用场景多,稳定性高。

(2)编译安装Nginx服务

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make



./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module




/usr/local/nginx/sbin/nginx #启动

cat /usr/local/nginx/logs/nginx.pid		#先查看nginx的PID号

##停止
kill -3 <PID号>
kill -s QUIT <PID号>
killall -3 nginx
killall -s QUIT nginx
nginx -s quit


##重载
kill -1 <PID号>
kill -s HUP <PID号>
killall -1 nginx
killall -s HUP nginx
nginx -s reload


##日志分割,重新打开日志文件
kill -USR1 <PID号>
kill -USR1 $(cat nginx.pid)


#平滑升级
kill -USR2 <PID号>

新版本升级:
cd /opt/
tar xf nginx-1.xx.xx.tar.gz   ##上传最新包并解压
cd nginx-1.xx.xx

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module

make -j 2 
cd /usr/local/nginx/sbin/
mv nginx nginx_lod
cp /opt/ginx-1.xx.xx/objs/nginx ./
cd /opt/ginx-1.xx.xx/
make upgrade      #要保证当前 nginx 进程是通过 /usr/local/nginx/sbin/nginx 启动的,而不是通过查找环境变量中那个 nginx 命令启动的
#或者先 killall nginx ,再/usr/local/nginx/sbin/nginx

nginx -V   ##显示配置参数
nginx -v   ##版本号

先去官网下载最新版本的nginx,再上传到nginx服务器并进行解压,先用.configure进行配置,按照原有的配置配置,再用make编译升级成二进制文件,然后把二进制文件nginx替换掉原有的老文件,然后在用make upgrade进行升级或用kill -USR2 $(cat /usr/local/nginx/logs/nginx.pid)

添加 Nginx 系统服务
方法一
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid  
ExecStart=/usr/local/nginx/sbin/nginx   
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target


方法二
cd /etc/yum.repos.d/
ls
上传nginx.repo
vim nginx.repo
yum install -y nginx
systemctl start nginx
netstat -lntp | grep :80
cd /usr/lib/systemd/system
ls nginx.service 
vim nginx.service 




Nginx服务的主配置文件 nginx.conf

1、全局块:全局配置,对全局生效;
2、events块:配置影响 Nginx 服务器与用户的网络连接;
3、http块:配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置;
4、server块:配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块;
5、location块:用于配置匹配的 uri ;
6、upstream:配置后端服务器具体地址,负载均衡配置不可或缺的部分。

全局配置

worker_rlimit_nofile 65535; #指定 worker 子进程可以打开的最大文件句柄数,默认为1024

Nginx 有哪些进程?
master进程:管理worker进程,加载配置文件
worker进程:处理请求连接

I/O 事件配置

events {
    use epoll; 	#使用 epoll I/O模型,2.6及以上版本的系统内核,建议使用epoll模型以提高性能
    worker_connections 65535; 	#每个 worker 子进程能够处理的最大并发连接数
    multi_accept on;   #是否一次性将监听到的连接全接收进来,默认为off,关闭时一次接收一条连接
    accept_mutex on;    #默认为on,开启时表示以串行方式接入新连接,否则将通报给所有worker。                                       这可能会浪费资源并产生不可预计的后果,例如惊群问题
}
#如提高每个进程的连接数还需执行“ulimit -HSn 65535”命令临时修改本地每个进程可以同时打开的最大文件数。
#在Linux平台上,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。
#可使用ulimit -a命令查看系统允许当前用户进程打开的文件数限制。默认1024

nginx服务器系统设置    
ulimit -n  65535     #指定进程能够打开的文件数
  vim /etc/security/limits.conf 
*  soft  nofile  65535     ##所有用户  软限制
 *  hard  nofile  65535    ##所有用户  硬限制

Nginx的最大并发如何设置?
nginx应用程序配置文件设置  
worker_processes(工作进程数,一般设置为与CPU数量相同,或auto)    
worker_connections(每个worker进程能够处理的连接数)
worker_rlimit_nofile(设置每个worker进程最大可以打开的文件数)



nginx 的 root 和 alias 指定路径的区别?
root(根目录)
location /abc {
    root /var/www;
}
处理方式: root路径+location路径    

  -->  /var/www/abc/xlb666/scj.html

alias(别名目录、虚拟目录)
location /abc {
    alias /var/www;               
}
处理方式: alias路径替换location路径  http://20.0.0.150/abc/xlb666/xlb.html  -->   /var/www/xlb666/xlb.html

Nginx应用场景
用作Web网站服务,处理http静态页面请求
用作虚拟机,实现一个服务器用于做多个网站站点
用作反向代理、负载均衡,可以作为网关代理服务器接收客户端的请求转发给后端节点服务器集群
用作Web缓存服务器

nginx 服务器当前的并发量怎么看?
1)开启状态统计模块 --with-http_stub_status_module ,修改配置文件 开启状态统计功能 stub_status on; ,访问状态统计页面,看 Active connections: 行的数组

2)ss -antp | grep nginx | grep -c ESTAB
netstat

nginx 访问状态统计
1)安装nginx时添加状态统计模块 ./configure --with-http_stub_status_module
2)修改配置文件,开启状态统计功能 stub_status on; access_log off;
3)测试验证 curl -s

nginx 访问认证

1)安装 httpd-tools 软件包,使用 htpasswd 生成用户认证文件,并修改文件的归属nginx和权限400
2)修改配置文件,添加 basic_auth basic_auth_user_file 配置
3)测试验证




nginx 访问控制
在 http{...}配置块(对所有站点生效)  server{...}配置块(对当前站点所有的访问路径生效)  location{...}配置块(只对当前站点指定的URL访问路径生效) 中添加配置


黑名单配置 deny IP|网段;  

白名单配置 allow IP|网段;    
           deny all;

2.Nginx虚拟主机

nginx虚拟主机
基于域名的虚拟主机 
server {
    server_name XXX;         #指定不同的域名
}

基于IP的虚拟主机
server {
    listen  <IP>:端口;       #指定不同的IP
}

基于端口的虚拟主机
server {
    listen   IP:<端口>;      #指定不同的端口
}



标签:服务,nginx,网站,worker,http,Nginx,usr,--
From: https://www.cnblogs.com/zsy828/p/18218452

相关文章

  • ceph客户端配置自动挂载存储服务
    1.安装支持ceph的内核模块可选:centos/ubuntu:yuminstall-yceph-common或aptinstall-yceph-common2.拷贝认证密钥cephadmin@ceph-deploy:~/ceph-cluster$sudoscpceph.confceph.client.admin.keyringroot@<客户端服务器IP>:/etc/ceph测试获取集群信息:客户......
  • 2024海外代理IP网站测评总结:哪个值得推荐?
    随着当前跨境电商越来越大众化,跨境代理IP的使用也非常广泛的应用到各种场景中去,例如注册Facebook、Instagram、TikTok等社媒账号,运营亚马逊、Lazada、Ebay等跨境电商平台,然而代理IP服务的层出不穷也意味着服务分化,如何选择最适合自己业务的代理才是重要的,下面鄙人也结合自己跨......
  • 在windows服务器上搭建FileZilla服务端
    最近接到个需求,需要搭建图片文件服务器给后端程序读取目录和操作图片这个需求分为几个步骤:1.扩展windwos虚拟机磁盘空间考虑到图片操作的便利性,这里选用windows系统做图片服务器,但是由于图片比较大,原有windows主机磁盘不够,所以第一步就是扩展windows虚拟机磁盘空间2.在windows......
  • 【测评】雨云香港三区云服务器,2核2G 5兆,仅需38元/月(文末有福利)
    雨云香港三区云服务器,高性能的AMD®EPYC处理器+企业级NVMESSD高性能云服务器。2核2G10兆400G防御,仅需38元/月,年付7折仅319.2元/年。官网:https://www.rainyun.com(优惠码:lz932使用优惠码注册后绑定微信可获得多个优惠券)本次测评服务器配置如下:CPU:2核内存:2G硬盘......
  • RFS_Server_05 云服务器配置及域名解析
    操作描述:在阿里云购买两项服务【云服务器ECS】和【域名】后,配置云服务器,注册域名,最终实现通过域名访问服务器,需要做以下事情:域名:1.ICP域名备案。此服务由云服务商代理,按照指引填写主体信息、域名用途等信息,等待客服联系通过审核即可。(此次遇到的阿里云客服态度非常不耐烦......
  • selenium模拟登录网站
     importtimeimportrequestsfromseleniumimportwebdriverfromselenium.webdriver.common.byimportBybrowser=webdriver.Edge()browser.maximize_window()url="https://m.xiaoshuopu.com/user/login.html"browser.get(url)username_input=b......
  • 基于springboot家政服务管理平台vue(源码+lw+部署文档+讲解等)
    前言......
  • nginx 默认虚拟主机,default_server
    nginx虚拟主机是通过HTTP请求中的Host值来找到对应的虚拟主机配置,如果找不到呢?那Nginx就会将请求送到指定了default_server的节点来处理,如果没有指定为default_server的话,找conf.d目录下字母排序位于第一个的配置文件中的第一个server_name节点了。nginx案例,理解defau......
  • nginx配置下载站,增加用户认证,增加统计功能
    1.配置文件如下server{listen80;server_namevideo.tom.com;error_log/var/log/nginx/video.tom.cn/err.lognotice;access_log/var/log/nginx/video.tom.cn/access.logmain;root/app/code/video;charsetutf8;#支持中文autoindex......
  • nginx fastcgi_buffers 缓存
    nginxfastcgi_buffers设置打开nginx的warn级别error_log,看到如下信息:2011/04/2317:24:08[warn]9639#0:*44anupstreamresponseisbufferedtoatemporaryfile/tmp/fastcgi_temp/8/0/0000000008whilereadingupstream,client:118.118.118.118,server:sealing......