The server of Nginx(一)——Nginx基础及静态网站的构建

news/2024/5/10 16:04:09/文章来源:https://blog.csdn.net/weixin_30681121/article/details/98242555

一、Nginx介绍

  火了半边天的Nginx和Apache一样也是Web服务器,专为性能优化而开发,也可以像Squid一样做反向代理,或者邮件代理等许多用途,并有windows的移植版,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单台物理服务器可支持30000~50000个并发请求,apache理论上只支持3000~5000个并发请求,但是apache对动态网站的支持要比Nginx好。正因为如此,大量提供社交网站,新闻资讯,电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务。

二、Nginx VS Apache

Nginx优点
  (1)轻量级,同样一架web服务,比apache占用更少的内存及资源
  (2)高并发,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能保持低资源低消耗高性能
  (3)高低模块化的设计,编写模块相对简单
  (4)可作为负载均衡服务器,支持7层负载均衡
  (5)静态处理性能比Apache高3倍以上,但动态处理不足,需要通过后端服务器支持,如Apache

三、Nginx的安装

 1 #1、安装依赖包 pcre-devel (为了支持网页重写机制)和 zlib-devel(一般系统自带)和 pcre(一般系统自带)和 openssl-devel 和 openssl(一般自带)
 2 yum -y install pcre-devel openssl-devel 
 3 #2、创建运行用户和组
 4 useradd -M -s /sbin/nologin nginx
 5 #3、安装 wget -q http://nginx.org/download/nginx-1.6.0.tar.gz
 6 tar zxvf nginx-1.6.0.tar.gz -C /usr/src
 7 cd /usr/src/nginx-1.6.0/
 8 ./configure --prefix=/application/nginx-1.6.0 \
 9 --user=nginx --group=nginx \
10 --with-http_stub_status_module (加模块:网页访问的状态记录服务器也就是日志统计模块)--with-http_ssl_module
11 make && make install
12 #4、创建链接文件
13 ln -s /application/nginx-1.6.0/sbin/nginx  /usr/local/sbin/
14 ln -s /applicationnginx-1.6.0 /application/nginx

 四、Nginx运行控制方法

~]#nginx -t     #检测配置文件语法
~]#nginx      #启动nginx,可以使用elinks ,curl 127.0.0.1,wget 127.0.0.1检查实际开启效果

重新加载nginx

~]#netstat -anpt | grep nginx
xxx
~]#kill -s HUP  xxx  或 kill   -1 xxx 或 killall -s HUP nginx

关闭nginx

~]#kill -s QUIT  xxx  或  kill -3 xxx 或 killall -s QUIT nginx

分割日志

~]#kill -s USER1 xxx

平滑升级nginx服务

~]#kill -s USER2 xxx

下面提供一段名为nginx的服务控制脚本:

 1 #chkconfig: 2345 21 90
 2 #description: nginx server control script
 3 PROG="/usr/local/sbin/nginx"  
 4 PIDF="usr/local/nginx/logs/nginx.pid"     # 注意:当nginx安装完毕后并没有生成pid文件,需要在配置文档中开启pid功能,才能出现,这个文件里包含了一个pid进程数字
 5 case "$1" in
 6         start)
 7         $PROG
 8         ;;
 9         stop)
10         kill -3 $(cat $PIDF)
11         ;;
12         restart)
13         $0 stop   #$0代表本文件,这个文件加上可执行权限后,便可这么用
14         $0 start
15         ;;
16         reload)
17         kill -1 $(cat $PIDF)
18         ;;
19         *)
20         echo "Usage: $0 (start|stop|restart|reload)"
21         exit 1
22 esac
23 exit 0

然后设置权限添加为系统服务

~]#chmod +x nginx
~]#chkconfig --add nginx

 五、Nginx配置文件分析

  /usr/local/nginx/conf/nginx.conf文件包含全局配置、I/O事件配置和HTTP配置这三大块内容,前10行是全局配置,12-14行是I/O事件配置,余下的为HTTP配置;配置语句的格式为 “关键字 值;” 

(1)全局配置

  由各种配置语句组成,不适用特定的界定标记、可设置Nginx服务的运行用户、工作进程数、错误日志、PID存放位置等,如果配置项注释掉,表示采用默认设置

  具体配置:

user  nginx  nginx;  #运行用户改为我们之前建立的nginx用户及其组
worker_processes 1   #工作进程数量为1,若服务器有多块CPU或者使用多核处理器,可参考CPU核心总数来制定工作进程数,比如两块2核的就写4,或者是2倍,8。

  以下三项我们一起看:

  对于Nginx来说,错误日志分为6级,从严重性由低到高分为debug\info\notice\warn\error\crit;如果下面三个选项我开启 info的话,意味着\info\notice\warn\error\crit这几个级别要做记录,如果写成notice ,那么notice\warn\error\crit要做记录,如果是warn,那么warn\error\crit要做记录依次类推,一般我们开启info那一项。

#error_log  logs/error.log
#error_log  logs/error.log   notice;
#error_log  logs/error.log   info;

(2)I/O事件配置

  用“events{}” 界定,指定Nginx进程I/O响应模型、每个进程的连接数等

具体配置:

events  {use epoll;                   #2.6及以上版本的内核(查询方法uname -r),建议使用epoll模型以提高性能;它的工作模式有很多种,如果不写的话这里默认是select/poll工作模式;kequeue/epoll是高效功能模式,2.6以上的版本可以用这种模式;kequeue模式用在BSD系统中(一种开源的UNIX)。worker_connections     1024;        #每个进程的连接数应根据实际需要来定,一般在10000以下,默认为1024,意思是1个进程可以同时有1024个人访问进来,Nginx很强悍的,之前我们提到它可以同时响应30000到50000之间的数,所以根据需要改大。
}

注:小知识,最大并发用户数算法  worker_processes的值乘以worker_connections的值,当然具体多少还要看服务器硬件、网络带宽等物理条件的性能表现

(3)HTTP配置

  用"http {}"界定,这只访问日志、HTTP端口、网页目录、默认字符集、连接保持,虚拟Web主机、PHP解析等,server{}配置段设置特定的网站(说白了就是配置虚拟主机)。

具体配置:

 1 include   mine.types                   #表示支持多媒体
 2 log_format  main                       #紧随其后有三行,意思都是定义日志格式的,这个格式的名字叫main
 3 access_log  logs/access.log   main;    #一般启用这个访问日志路径,它的格式就是上面我们提到的名为main的格式
 4 sendfile        on           #是否支持文件发送(下载)
 5 keepalive_timeout        65      #连接保持超时(访问页面后,如果不做任何操作65秒后将断开连接)
 6 listen  80                   #监听地址及端口
 7 server_name   www.benet.com        #设置网络名称(FQDN)
 8 charset     utf-8   ;           #网站默认字符集,默认是俄语,我们改为utf-8
9 location / {            #根目录配置 10    root  html ;      #网站根目录的位置,这是个相对路径,其实是/usr/local/nginx/html/ 11   index  index.html index.htm;  #默认首页 12 }
13 error_page  404 /404.html; #404报错页是由404.html来调用启动的 14 error_page 500 502 503 504 /50x.html; #这些报错页都是由50x.html来调用启动的

 六、构建静态网站

步骤:(和apahe验证是一样的http://www.cnblogs.com/mangood/p/5947110.html)

  1、修改主配置文件、新建www.benet.com网站

  2、准备网站目录与测试网页

  3、配置本地解析或DNS解析

  4、启动并检测服务是否正常

七、查看统计日志

  (1)Nginx内置了HTTP_STUB_STATUS状态统计模块,修改nginx.conf配置文件,指定访问位置/status并打开stub_status配置

1 ~]#vim /usr/local/nginx/conf/nginx.conf
2 添加
3 location ~ /status  {
4       stub_status  on;   #由stub_status来统计日志
5       access_log   off;   #关闭系统自身的日志功能
6     }
7 ~]#service nginx reload

 (2)在浏览器中访问/status,看到统计信息

  输入地址http://www.benet.com/status

转载于:https://www.cnblogs.com/mangood/p/6022315.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_726778.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动网站性能优化:网页加载技术概览

性能一直是网站成功的关键。越来越多的研究已经证明,不管是小型电商,还是像沃尔玛那样的连锁店,即使是页面加载时间方面的细微改善,都可以带来更多的业务,更多的广告收入,更多的用户粘性和更多的客户满意度…

沙盒单机网站代表-Steam【推荐】

Steam平台是Valve公司聘请BitTorrent(BT下载)发明者布拉姆科恩亲自开发设计的游戏平台。Steam平台目前是一款全球最大的综合性数字发行平台。玩家可以在该平台购买、下载、讨论、上传和分享游戏和软件。?,没有十足的抵抗力和小康的生活水平千万别触碰Steam&#xf…

java hook技术_API Hook基本原理和实现 - - JavaEye技术网站

hook是什么?windows系统下的编程,消息message的传递是贯穿其始终的。这个消息我们可以简单理解为一个有特定意义的整数,正如我们看过的老故事片中的“长江长江,我是黄河”一个含义。windows中定义的消息给初学者的印象似乎是“不计…

为什么wifi有的网站进不去_无线mesh分布式路由选购攻略,让家里随处有好的WiFi信号...

现在家庭都要用到WiFi,走亲访友到别人家,先要WiFi密码是常事。用WiFi最大的一个问题就是,为什么信号不好?为什么玩游戏会断线,为什么网速这么慢?为什么看电影追剧老要缓冲。现在大家都知道了,用…

用正则扒网站图片_可能是目前PC端最好用的词典——Goldendict

对于语言学习者来说,好的词典是一个不可或缺的工具。在专门寻找PC端的词典之前,需要查词的时候,我大多都是使用浏览器的划词插件。或者使用搜索引擎这样固然方便,但是划词插件提供的信息太少,如果只是帮助我们阅读&…

云服务器连接网站吗,云服务器连接到网站吗

云服务器连接到网站吗 内容精选换一换场景描述每个虚拟私有云VPC代表一个私有网络,与其他VPC逻辑隔离,您可以将业务系统部署在华为云上,构建云上私有网络环境。如果您有多个业务系统例如生产环境和测试环境要严格进行隔离,那么可以…

SEO--网站流量提升

话术设置,提炼优质的话术 关键词的挖掘 1、头脑风暴 (开晨会,一堆人坐在一起聊。) 2、利用搜索引擎相关搜索(将关键词设置为搜索热词,利用工具:百度指数,查看关键词) 3、…

react里做一个修改效果_工作思维:做一个以效果性驱动的SEO人才

针对于SEO的工作而言,我们身为SEO从业者应该如何做好工作就是今天我们要讨论的话题,毕竟每一家公司都是以人才驱动效果,人才越多,公司效益越好。先来看SEO工作上的几个误区:1、领导安排工作都是有标准的你的上级或公司…

最出色的5个在线网站推荐,也许你要收藏一下

现在互联网行业发展迅速,网站资源越来越多,小编入行以来整理了好多的一些资源性的网站,在工作或者生活中的确帮助了很多,小编今天就分享一些比较好用的网站给小伙伴们,小伙伴们准备好了吗? SlideModel——高…

***不是已知元素 原因可能是网站中存在编译错误

在用visual studio 2005编辑asp.net页面时,有时会遇到:"***"不是已知元素。错误情况如下图:原因可能是网站中存在编译错误。这有可能是代码中的"***"确实有错,但是有时候你会发现代码根本就没有错&#xff0c…

url中能出现的字符_浅析网站URL优化有哪些问题需要注意呢?

众所周知,网站优化工作是确保网站长久性运营的基础,在众多优化内容方面有一项重要内容,那就是网站URL的优化。所谓的网站URL就是网站在互联网中每一信息资源的统一且在互联网中的唯一地址,也是大家俗称的网络地址。那么针对网站UR…

lua mysql 域名_使用 lua 开发的网站有哪些?

EventServer基于lua和libevent的完全异步、高性能的web框架。既可以作为游戏服务,也可以做web服务,支持websocket和https。关键是可以ffi使用c/c库,比如libcurl和iconv,也可以调用第三方lua库,比如smtp、redis、luasql…

点某个链接进网站,会发这个链接的会员加积分,实现方法(有时间限制)

例如:http://www.bobo.com?useridaxeidxls01wdcx(这个userid会有一个加密) 当某个用户发出一个邀请后,另一个用户通过这个链接进行网站后,为发这个链接的用户加10个积分。 实现方法: 建立一个用户附加表InviteUser_NewUser,结构如…

名字英文name域名_怎么正确选择网站域名要素分享

域名他的英文名称叫做Domain Name,他是一长串用点以及数字来进行分隔的名字组合而成的。而网站的域名就是说的在网站里面所使用的域名,大家在注册这种网站域名的时候应该怎么选择呢?第一、站在品牌的角度去考虑要知道好的网站域名其实对企业或…

大型网站技术架构:核心原理与案例分析 mobi_一文了解,网站架构演化

本文主要讲述网站架构演化历史,主要是让大家对当前主流技术演化的目的,以及技术背景有所了解。本文内容主要参照于大型网站技术架构:核心原理与案例分析[1],也推荐大家深入研读这本书。自上世纪90年代初CERN正式发布 Web 标准和第…

网站兼容——火狐浏览器刷新没有清空表单

2019独角兽企业重金招聘Python工程师标准>>> 在进行项目开发中,发现一些筛选条件,上一次选中后,刷新页面仍然存在。页面上的数据仍然是上一次表单中的数据,其实是很火狐浏览器的兼容性造成的。 解决办法: 经…

31.网站数据监控-1

31.网站数据监控-1 网站数据监控:思路:对网站数据字段监控并做MD5加密存入到数据,为了后期监控数据是否更新作比对,然后邮件通知,存入四个字段。 引入的包:md5_tools.py # -*- coding:utf-8 -*-import hash…

基于LNMP的小米电商网站搭建——运维实战手记第一篇

分享一篇文章,来自马哥教育学员阿龙。总项目流程图,详见Linux运维企业架构实战系列 - 阿龙along - 博客园实战一:搭建lnmp及类小米等商业网站的实现环境:关闭防火墙,selinux1、安装包,开启服务yum -y insta…

实现网站页面的QQ临时会话,分享到空间微博等按钮.

一 qq临时会话要实现qq临时会话首先要到qq在线状态官网开通qq在线状态&#xff0c;其中临时对话也分为加密和未加密。1.1:加密模式<a target"_blank" href"http://sighttp.qq.com/authd?IDKEY9a2ea740a2af0f88c15eb511395e2460bd84bf549dd66365">&l…

服务器物理分离,不同功能进行物理分离实现网站架构的伸缩性设计

回顾网站架构发展历程&#xff0c;网站架构发展史就是一部不断向网站增加服务器的历史。只要工程师能向网站的服务器集群中增加新的机器&#xff0c;只要新增加的服务器能线性提高网站的整体服务处理能力&#xff0c;网站就无需为不断增长的用户和访问而焦虑。一般说来&#xf…