linux怎么查看本机内存大小
240
2022-09-29
Nginx网站服务
第二阶段Nginx网站服务
Nginx服务基础Nginx访问控制Nginx虚拟主机LNMP架构部署及应用
关于Nginx
一款高性能、 轻量级Web服务软件●稳定性高●系统资源消耗低●对HTTP并发连接的处理能力高◆单台物理服务器可支持30 000 ~ 50 000个并发请求
Nginx相对于Apache的优点:轻量级,同样是web服务,比Apache占用更少的内存及资源:高并发,Nginx 处理请求是异步非塞的,而Apache 则是阻塞型的,在高并发下Nginx能保持低资源低消耗高性能;高度模块化的设计编写模块相对简单;社区活跃,各种高性能模块出品迅速。Apache相对于Nginx的优点:rewrite,比Nginx 的rewrite强大;模块超多,基本想到的都可以找到;少bug,Nginx 的bug相对较多;超稳定存在就是理由,-般来说,需要性能的web服务,用Nginx。如果不需要性能只求稳定,那就Apache. Nginx处理动态请求是弱项,-般动态请求要Apache去做,Nginx只适处理静态网页或反向代理。
简述Nginx和Apache的差异?●Nginx是一 个甚于事件的Web服务器,Apache是一 个甚于流程的服务器;●Nginx所有请求都由一 个线程处理,Apache单个线程处理单个请求;●Nginx避免子进程的概念,Apache是基于子进程的;●Nginx在内存消耗和连接方面更好,Apache在内存消耗和连接方面- -般;●Nginx的性能和可伸缩性不依赖于硬件, Apache依赖于CPU和内存等硬件;●Nginx支持热部署,Apache不支持热部署;●Nginx对于静态文件处理具有更高效率, Apache相对- 般;●Nginx在反向代理场景具有明显优势, Apache相对- -般。
--------编译安装Nginx服务--------1.关闭防火墙,将安装nginx所需软件包传到/opt目录下systemctl stop firewalldsystemctl disable firewalldsetenforce 0nginx- 1.12.0.tar.gz2.安装依赖包#nginx的配置及运行需要pcre、zlib等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件。yum -y install pcre-devel zlib-devel gcc gcc-c++ make
3.创建运行用户、组(Nginx 服务程序默认以nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)useradd -M -s /sbin/nologin nginx
4.编译安装Nginxcd /opttar zxvf nginx-1.12.0.tar.gz -C /opt/
cd nginx-1.12.0/. /configure \--prefix=/usr/1ocal/nginx \ #指定nginx的安装路径
--user=nginx \ #指定用户名--group=nginx #指定组名.--with-stub status module #启用stub status module 模块以支持状态统计make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #让系统识别nginx的操作命令
5.检查、启动、重启、停止nginx服务nginx -t #检查配置文件是否配置正确#启动nginx#停止
cat /usr/1ocal/nginx/ logs/nginx. pid#先查看nginx的PID号kill -3
kill -1
新版本升级:tar -Zxvf nginx-1.xx.xx.tar.gzcd nginx-1.xx.xx ../configure \--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-stub status module \--with-ssl_ module
makemv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_ oldcp objs/nginx /usr/local/nginx/ sbin/nginxmake upgrade#或者先killall nginx ,再/usr/1ocal/nginx/sbin/nginx
认识Nginx服务的主配置文件nginx. conf
1、全局块:配置影响nginx全局的指令。一般 有运行nginx服务器的用户组,nginx进 程pid存放路径,日志存放路径,配置文件引入,允许生成worker. process数等。2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。3、可以嵌套多个server, 配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义, 日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。4、server块:配置虚拟主机的相关参数,一个多个server.5、location块: 配置请求的路由,以及各种页面的处理情况。
vim /usr/1ocal/nginx/ conf/nginx . conf1.全局配置#user nobody; #运行用户,若编译时未指定则默认为nobodyworker processes 1 #工作进程数量,可配置成服务器内核数★2, 如果网站访问量不大,- - 般设为1就够用了#error _log 1ogs/error.log; #错误日志文件的位置#pid logs/nginx.pid; . #PID文件的位置
2.I/O事件配置events{use epoll; #使用epoll 模型,2.6及以上版本的系统内核,建议使用epoll模型以提高性能worker_ connections 4096; #每个进程处理4096 个连接
}
#如提高每个进程的连接数还需执行“ulimit-n65535”命令临时修改本地每个进程可以同时打开的最大文件数。#在Linux平台上,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单--进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一- 个socket句柄,每个socket句柄同时也是一个 文件句柄)。#可使用ulimit-a命令查看系统允许当前用户进程打开的文件数限制。#epoll是Linux内核为处理大批句柄而作改进的poll,是Linux 下多路复用IO接口select/pol1的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
-----基于授权的访问控--------1.生成用户密码认证文件yum install -y -C /usr/local/ nginx/passwd. db zhangsanchown nginx /usr/ local/nginx/ passwd. dbchmod 400 /usr/local/ nginx/passwd . db
2.修改主配置文件相对应目录,添加认证配置项vim /usr/local/ nginx/conf /nginx. conf
.......
server {location / {##添加认证配置##auth basic "secret"; #设置密码提示框文字信息auth basic_ user file /usr/local/nginx/ passwd. db;}
}
3.重启服务,访问测试nginx -tsystemctl restart nginx
浏览器访问IP/IP段:拒绝某个IP或IP段的客户端访问。allow IP/IP 段:允许某个IP或IP段的客户端访问。规则从.上往下执行,如匹配则停止,不再往下匹配。
vim /usr/1ocal/nginx/conf/nginx . conf
......
server {location / {##添加控制规则##allow 192.168.80.200; #允许访问的客户端IPdeny all; #拒绝其它IP客户端访问}}
systemctl restart nginx
基于域名的Nginx 虚拟主机1.为虚拟主机提供域名解析echo "192.168.80.10 kgc. com benet. com" >> /etc/hosts
2.为虚拟主机准备网页文档mkdir -P /var/ /benetmkdir -p /var/" kgc . com" > /var/kgc/ index . htmlecho ". benet .com" > /var//benet/ index . html
3.修改Nginx的配置文件vim /usr/local/nginx/conf/nginx. conf{......server {listen 80;server name . kgc . com; #设置域名 kgc. comcharset utf-8;access 1og logs/ WWw. kgc . access.log; #设置日志名location / {root /var/ #设置 kgc.com的工作目录index index. html index. php;
}
error_ page 500 502 503 504 /50x .html;location = 50x. html{root html;}
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~