Nginx 入门到实战,新手必懂~(1)

  1. HTTPD-Apache基金会

  2. IIS-微软

  3. GWS-Google(不对外开放)

近几年,Nginx的市场占有率越来越高,一度飙升,为什么呢?接下来我们就知道了!另外,N 系列面试题和答案全部整理好了,微信搜索Java技术栈,在后台发送:面试,可以在线阅读。

三、我们为什么选择Nginx?


1. IO多路复用epoll(IO复用)

如何理解呢?举个例子吧!

有A、B、C三个老师,他们都遇到一个难题,要帮助一个班级的学生解决课堂作业。

老师A采用从第一排开始一个学生一个学生轮流解答的方式去回答问题,老师A浪费了很多时间,并且有的学生作业还没有完成呢,老师就来了,反反复复效率极慢。

老师B是一个忍者,他发现老师A的方法行不通,于是他使用了影分身术,分身出好几个自己同一时间去帮好几个同学回答问题,最后还没回答完,老师B消耗光了能量累倒了。

老师C比较精明,他告诉学生,谁完成了作业举手,有举手的同学他才去指导问题,他让学生主动发声,分开了“并发”。这个老师C就是Nginx。

2. 轻量级

3. CPU亲和

把CPU核心和Nginx工作进程绑定,把每个worker进程固定在一个CPU上执行,减少切换CPU的cache miss,从而提高性能。

三、安装与目录


本人使用了鸟哥的lnmp集成包,简单方便-推荐!

#执行这句语句,根据指引,将安装 nginx php mysql 可进入lnmp官网查看更详细的过程

#默认安装目录/usr/local

wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp

#默认安装目录

/usr/local

四、基本配置


#打开主配置文件,若你是用lnmp环境安装

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


user #设置nginx服务的系统使用用户

worker_processes #工作进程数 一般情况与CPU核数保持一致

error_log #nginx的错误日志

pid #nginx启动时的pid

events {

worker_connections #每个进程允许最大连接数

use #nginx使用的内核模型

}

我们使用 nginx 的 http 服务,在配置文件 nginx.conf 中的 http 区域,配置无数个 server ,每一个 server 对应这一个虚拟主机或者域

http {

… … #后面再详细介绍 http 配置项目

server {

listen 80 #监听端口;

server_name localhost #地址

location / { #访问首页路径

root /xxx/xxx/index.html #默认目录

index index.html index.htm #默认文件

}

error_page 500 504 /50x.html #当出现以上状态码时从新定义到50x.html

location = /50x.html { #当访问50x.html时

root /xxx/xxx/html #50x.html 页面所在位置

}

}

server {

… …

}

}

个 server 可以出现多个 location ,我们对不同的访问路径进行不同情况的配置 我们再来看看 http 的配置详情

http {

sendfile on #高效传输文件的模式 一定要开启

keepalive_timeout 65 #客户端服务端请求超时时间

log_format main XXX #定义日志格式 代号为main

access_log /usr/local/access.log main #日志保存地址 格式代码 main

}

四、模块


查看 nginx 已开启和编联进去的模块,模块太多了,就不在这长篇大论,有需要自行百度吧~另外,关注公众号Java技术栈,在后台回复:面试,可以获取我整理的 Java/ Nginx 系列面试题和答案,非常齐全。

#大写V查看所有模块,小写v查看版本

nginx -V

查看此配置文件 是否存在语法错误

nginx -tc /usr/local/nginx/conf/nginx.conf

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值