当前位置: 首页 > news >正文

nginx配置

单线程应用

稳定性高

系统资源消耗低 线程切换消耗小

对HTTP并发连接处理能力高

单台服务器可支持2w个并发请求

nginx与apache区别

Nginx相对于Apache的优点:

轻量级,同样是 web 服务,比Apache 占用更少的内存及资源,高并发,Nginx 处理请求是异步非塞的,而Apache 则是阻塞型的,在高并发下Nginx 能保持低资源低消耗高性能;高度模块化的设计

编写模块相对简单;社区活跃,各种高性能模块出品迅速

Apache 相对于Nginx 的优点:

rewrite,比Nginx 的rewrite强大; 模块超多,基本想到的都可以找到; 少bug,Nginx 的bug 相对较多; 超稳定存在就是理由,一般来说,需要性能的web 服务,用Nginx 。如果不需要性能只求稳定,那就Apache。Nginx处理动态请求是弱项,一般动态请求要Apache去做,Nginx只适处理静态网页或反向代理。

Apache 阻塞需要一个一个处理响应

nginx 异步非阻塞同时接收,再回复基于事件

make j2(两个cpu)

ngix有两个进程

master process进程

管理worker 读取配置文件

和worker process进程

处理用户连接请求(可修改多个工作子进程)

停止nginx

启动路径

/usr/local/nginx/sbin/nginx

kill -3 $(cat /usr/local/nginx/logs/nginx.pid)

killall -3 nginx

按进程名杀

pkill nginx 关键词杀(可能会误杀)

pid号 cat /usr/local/nginx/logs/nginx.pid

kill -1重载 不中断

nginx -v产看当前版本号

nginx -V产看安装时的配置

查看状态 netstat ss

echo $? 0启动

升级

make j2后在/objs中生成新的nginx

make upgrade平滑升级

配置nginx快捷服务

方法一

#!/bin/bash

#chkconfig: 35 20 99

#desc: this is nginx service control script

NGINX_CMD="/usr/local/nginx/sbin/nginx"

NGINX_PID=" /usr/local/nginx/logs/nginx.pid"

start)

 $NGINX_CMD

 ;;

stop)

 kill -3 $(cat $ NGINX_pid)

 ;;

restart)

 $0 stop

 $0 start

 ;;

reload)

 kill -1 $(cat $ NGINX_pid)

 ;;

status)

if ss -lntp | grep nginx &> /dev/null

 then

 echo 'nginx is runing!'

else

 echo 'nginx is not runing'

fi

;;

*)

echo "Usage: $0 {start|stop|restart|reload|status}"

exit 1

esac

exit 0

配置服务方法二

vim /lib/systemd/system/nginx.service

[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

主配置文件nginx.conf

events块 一个工作进程的连接数(I/o时间配置)

http块 配置代理缓存,日志

server块 虚拟主机相关参数 一个http块中可以有多个server块

location块:用于配置匹配的url;

upstream 配置后端服务器具体地址,负载均衡配置不可或缺

worker_processes auto;#工作进程数量,一般设置为cpu核数

ulimit -a 查看文件最多打开多少个文件

ulimit -n 15000 临时需改进程打开文件个数

永久vim /etc/security/limits.conf

item向上找

日志文件监视 http

日志格式设定

remote_addr上一个节点的地址

http_x_forworded_for 路径所有的地址

http_referer 记录从哪个页面连接访问过来的

http_user_agent  纪录客户的刘丹信息

反向代理服务器,网关服务器

vim access.log

cd /usr/local/nginx/conf/nginx.conf

location /abc {

root /var/www/html

}

http://www.accp.com/abc/test.html --> /var/www/html/abc/test.html

localtion /abc {

 alias /var/www/html

}

http://www.accp.com/abc/test.html --> /var/www/html/test.html

localtion

nginx -t

systemctl reload nginx

server accepts handled requests

curl -Ls 192.168.232.7/state | grep 'Active connections' | awk '{print $3}'

后台运行监控

常链接为零

ssh 日志文件

cat /var/log/secure

多次被爆破

ssh password

vim /etc/hosts.deny黑名单

nginx 日志

cd /usr/local/nginx/logs/access.log

用户交互

which htpasswd

/usr/local/nginx

cat userlist

htpasswd ./userlist fengchu

chown niginx userlist

chmod 400 userlist

vim /conf/nginx.conf

nginx -t

systemctl restart nginx

黑白名单

cd /usr/local/nginx/logs/access.log

百名单

allow 192.168.232.105

deny all

自定义端口号要http://

基于域名的虚拟主机配置实验

vim /usr/local/nginx/conf/nginx.conf

 

 重启服务即可

http://www.lryc.cn/news/60267.html

相关文章:

  • linux从入门到精通 第一章centos7里tomcat,jdk,httpd,mysql57,mysql80的安装
  • ChatGPT 速通手册——开源社区的进展
  • string类
  • LLM总结(持续更新中)
  • 【GPT4】微软 GPT-4 测试报告(2)多模态与跨学科的组合
  • Celery使用教程完整版【从安装到启用】
  • 【Java技术指南】「JPA编程专题」让你不再对JPA技术中的“持久化型注解”感到陌生了
  • Java基础:IO流有哪些,各有什么特点和功能
  • MySQL、PostgreSQL、Oracle、SQL Server数据库触发器实现同步数据
  • 因为我没交周报,leader要罚款200元,怎么给他挖坑?能以敲诈勒索罪告他吗?...
  • java跨域问题
  • 故障重现, JAVA进程内存不够时突然挂掉模拟
  • 数画-AI绘画-免费的人工智能AI绘画网站
  • ElasticSearch安装、启动、操作及概念简介
  • Linux用户管理
  • Docker 的安装和镜像容器的基本操作
  • 被盗的ChatGPT账户在暗网热销,ChatGPT的隐私和安全问题依旧值得关注
  • OpenCV2 计算机视觉应用编程秘籍:6~10
  • 如何对农田温室气体进行有效模拟?
  • java数据结构刷题练习
  • 《商用密码应用与安全性评估》第一章密码基础知识1.6密钥交换协议
  • Qt Quick - TabBar
  • ElasticSearch集群搭建
  • 【pan-sharpening 攻击:目标检测】
  • nginx反向代理_负载均衡的配置
  • 程序员随时担心被抛弃......大厂外包值不值得去?
  • C++解释器模式实战:从设计到应用的全面指南
  • 使用华为云免费资源训练Paddle UIE模型
  • 深度学习12. CNN经典网络 VGG16
  • Doris(3):创建用户与创建数据库并赋予权限