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

Linux:web服务nginx

一.Nginx简介
Nginx (engine x) 是一个高性能的Web和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服器。Nginx处理高并发能力是十分强大的,能经受高负载的考验。而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新 。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持高达 5w 个并发连接数,最重要的是, Nginx 是免费的并可以商业化,配置使用也比较简单

安装nginx

启动nginx关闭火墙(火墙放行)

nginx默认共享目录

进入nginx默认共享目录,会将该目录的东西都共享到网络上 

可以看到index.html,这是它的默认发布文件,里边就能够访问用户指定的内容了,试着访问一下(浏览器直接访问虚拟机ip地址

修改默认使用的端口

使用如上路劲修改端口号,修改完后,重启nginx。 重启完才会生效,修改完端口可能还需要去火墙那放行端口号,才能访问,所以建议不要去修改,默认80就行,只需要知道其能够修改即可

四、 nginx默认配置目录

nginx -s reload

nginx默认配置目录

修改nginx默认共享目录的发布文件

将test.html更改为默认发布文件

index可以指定多个文件,但是不会全部一起出现,而是会排队访问,修改完后,重启nginx

改变nginx默认共享目录的路径

1、基于ip的访问控制

 在/usr/share/nginx/下,新建一个目录,在自己建的新目录下建立一个文件(如index.html),入路径/etc/nginx/并进入nginx.conf,修改此行的路径,将其修改成自己创的那个目录

将图中html的位置改为刚加的目录即可,修改了默认路径后,下一行的index出也需要修改成自己目录里有的文件

nginx访问控制

默认任何人都能访问你的nginx目录,如何限制呢?

使用location命令,在nginx.conf中修改,添加的location在sever的子目录下,后面跟的是自建的目录。目录下面的大括号内用allow和deny来区分允许与拒绝的ip

注意:location 大括号下的指令有读取顺序,前面的会先读取执行,然后再是后面的,比如这里先把deny all先写在前面,allow写在后面,就会先执行deny命令,而后面的allow就不会生效了

修改完,重启nginx
nginx -s reload

2、 基于用户的访问控制

先安装软件包httpd-tools

下面分两种情况:

1)显示“无法访问...没有那个文件或目录”

第一次使用htpassd应该都是这种情况,这是我们使用-cm:

htpasswd -cm /etc/nginx/.htpasswd test(这里的test是一个用户)

2)显示出了文件

这种情况代表已经有了该文件,所以把-cm的c去掉,代表不创建、仅修改,这样就不会覆盖其他用户

htpasswd -m /etc/nginx/.htpasswd test(这里的test是一个用户!)
 
进入nginx.conf
 进入后,添加location

图中location下的名词解释:

auth basic on;  —— 代表开启基本认证

auth basic user file /etc/nginx/.htpasswd; —— 代表指定认证文件 

修改完,重启nginx

相关文章:

  • Pinecone向量库 VS Redis
  • 大模型工具与案例:云服务器部署dify(1)
  • 递归element-ui el-menu 实现无限级子菜单
  • Nginx 搭建支持多版本和前端路由的静态网站
  • 初始图形学(7)
  • C++并发编程完全指南:从基础到实践
  • 准确---Typora配置Gitee图床并实现自动图片上传
  • Windows环境下maven的安装与配置
  • 实践003-Gitlab CICD编译构建
  • 隐私计算技术及其在数据安全中的应用:守护数据隐私的新范式
  • python 闭包获取循环数据经典 bug
  • 滑动窗口——长度最小子数组
  • Go 并发错误处理利器:深入理解 errgroup
  • Kafka的消息保留策略是怎样的? (基于时间log.retention.hours或大小log.retention.bytes,可配置删除或压缩策略)
  • 【前端基础】7、CSS的字体属性(font相关)
  • 《Python星球日记》 第47天:聚类与KMeans
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.3.30)
  • 项目模拟实现消息队列第二天
  • spring 事务实现原理
  • RabbitMq学习(第一天)
  • 母亲节|写给妈妈
  • 深圳市政协原副主席王幼鹏被“双开”
  • 国常会:研究深化国家级经济技术开发区改革创新有关举措等
  • 中方就乌克兰危机提出新倡议?外交部:中方立场没有变化
  • 援藏博士张兴堂已任西藏农牧学院党委书记、副校长
  • 汪明荃,今生不负你