作者:Island来源:https://segmentfault.com/a/11...1.环境服务器版本:CentOS7.2为了保证不出现奇怪的东西学习阶段遇到,请保证以下四点(大神选择忽略)确认系统网络确认yum可用确认关闭iptables确认禁用selinux#查看iptables状态systemctlstatusfirewalld.service#关闭防火墙(temporaryshutdown)systemctlstopfirewalld.service#查看SELinux状态getenforce#暂时关闭SELinuxsetenforce0并安装一些基本的系统工具。一般情况下,系统会自带(未安装)yum-yinstallgccgcc-c++autoconfpcrepcre-develmakeautomakeyum-yinstallwgethttpd-toolsvim二、Nginx是什么?Nginx是一个开源、高性能、可靠的HTTP中间件、代理服务其他HTTP服务:HTTPD-ApacheFoundationIIS-MicrosoftGWS-Google(不对外开放)近年来Nginx的市场占有率越来越高,一度飙升,为什么?我们很快就会知道的!3、我们为什么选择Nginx?1、如何理解IO多路复用epoll(IO多路复用)?举个例子!有A、B、C三位老师,他们都遇到了一个问题,想帮班里的同学解决作业。A老师从第一排开始,一次回答一个学生的问题。A老师浪费了很多时间,有的学生在老师来之前作业还没做完,效率极低。B老师是忍者。他发现A老师的方法行不通,就用影子分身术造了几个自己,帮助几个同学同时答题。还没等他回答完,B老师就用尽了体力崩溃了。C老师比较精明。他告诉同学们,谁完成了作业就举手,他就对举手的同学进行指导。他让学生说出来,把“并发”分开。这个C老师就是Nginx。2.更少的轻量级功能模块——Nginx只保留HTTP需要的模块,其余使用插件,加入代码模块化——更适合二次开发,如AlibabaTengine3。CPUaffinity结合了CPU核心和NginxWorker进程绑定,固定每个worker进程在一个CPU上执行,减少切换CPU时的cachemiss,从而提高性能。三、安装及目录我用的是鸟哥的lnmp集成包,简单方便——推荐!#执行这句话,根据指引,会安装nginxphpmysql。可以进入lnmp官网查看更详细的过程#默认安装目录/usr/localwget-chttp://soft.vpser.net/lnmp/lnmp1.4.tar.gz&&tarzxflnmp1.4.tar.gz&&cdlnmp1.4&&./install.shlnmp#默认安装目录/usr/local4.基本配置#打开主配置文件,如果使用lnmp环境安装vim/usr/local/nginx/conf/nginx。conf--------------------------------------user#设置nginx服务使用的系统userworker_processes#工作进程数一般与CPU核数一致error_log#nginx错误日志pid#nginx启动时的pidevents{worker_connections#每个进程允许的最大连接数use#nginx使用的内核模型}我们使用httpnginx的服务,在配置文件nginx.conf中的http区域配置无数台服务器,每台服务器对应这个虚拟主机或域名http{......#后面详细介绍http配置项目server{listen80#监听端口;server_namelocalhost#addresslocation/{#访问主页路径root/xxx/xxx/index.html#默认目录indexindex.htmlindex.htm#默认文件}error_page500504/50x.html#出现上述状态码时重新定义为50x.htmllocation=/50x.html{#访问50x.html时root/xxx/xxx/html#50x.html页面位置}}server{......}}一个服务器可以有多个位置,我们针对不同的情况配置不同的访问路径下面看一下http的配置细节http{sendfileon#高效的文件传输方式mustenablekeepalive_timeout65#Client服务器请求超时log_formatmainXXX#定义日志格式代码为mainaccess_log/usr/local/access.logmain#日志保存地址格式代码main}四、Module查看nginx已经开启编译的模块进入。模块太多,就不赘述了。需要的话自己百度一下~#大写V查看所有模块,小写v查看版本nginx-V#查看是否存在这个配置文件语法错误nginx-tc/usr/local/nginx/conf/nginx.conf近期热点文章推荐:1.1,000+Java面试题及答案(2021最新版)2.别再满脑子if/else了,试试策略模式,真香!!3.操!Java中xx≠null的新语法是什么?4、SpringBoot2.5发布,深色模式太炸了!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!
