- 硬件层面:稳定性、性能、扩展性比普通个人PC更强的一台机器。需要搭载操作系统(windows server / Linux发行版操作系统 etc.)
- 软件层面:(提供服务的软件 –服务器软件)
- 运行在服务器操作系统之上
- 绑定了服务器特定的IP地址
- 在某一个端口监听用户的请求
静态服务
- 静态服务(例:hexo)
- 一般返回静态资源
- 不同用户,无论何时,只要访问同一个服务,内容一样
Web服务器
- 功能:提供Web化服务(网站页面服务、邮件服务、网络下载服务etc.
- 广义:响应用户需求,提供服务
HTTP服务器
- 当今应用层通讯协议(主要是HTTP协议)
- 基本与Web服务器对等
- 知识把服务器上的资源通过HTTP协议形式传输给客户端
- 侧重于对静态资源传输的支持
流行的静态服务器
Nginx
主流T engine
Apache
IIS
非开源
动态服务
- 动态服务(wordpress / halo后台应用服务博客)
- 一般返回动态资源(用户登录网页后台)
- 根据不同的用户身份和权限信息返回不同的内容与资源
- 需要单独应用服务器的承载
应用服务器
- 一个特定应用的承载容器
- 一般需要运行时环境的支持(
Java EE
中常用的应用服务器Tomcat
需要Java的runtime
运行时环境的支持) - 动态服务器/动态容器/Web容器/应用容器
- 支持动态响应(根据用户不同的请求生成动态资源并且返回)
流行的动态服务器
Jetty
Undertow
高并发性能稍微高一些
重量级`JBoss
Weblogic
WebSphere
平台化软件
Nginx
高性能(响应更快、并发更高)的HTTP和反向代理Web服务器,同时也提供了IMAP/POP3/SMTP服务(邮件服务)。
作用
*正向代理
- VPN
代理服务器请求HK服务器(代理客户端)
反向代理
(代理服务器端)
客户端永远访问的是域名
负载均衡
加入有64G服务器和两个16G服务器,想把更多请求打在64G的服务器。
内置策略-轮询
- 轮询
- 加权轮询(保证服务器性能最大化,节约)
- Iphash
- 背景【Tomcat里保存,若启动多台,不能做到Session共享 目前解决方法:加Redis】
- 可以通过IP计算,固定IP只能打到统一服务器上,保证Session不丢失
- 性能不是很好,推荐Redis
动静分离
- 【bootstrap、jquery的js,这些静态资源每次都要从架包里加载非常麻烦】
- 直接从Nginx返回,提升访问速度
安装
- 启动文件
nginx.exe
- 配置文件
conf
- 文档配置
docs
、html
- 日志
logs
- 临时文件
temp
nginx.conf文件中监听端口listen 80
只要访问80端口,就会被Nginx拦截
访问80端口(HTTP默认)
常用命令
./nginx启动
./nginx -s stop强制停止
./nginx -s quit安全退出
./nginx -s reload重新加载配置文件
ps aux|grep nginx查看nginxj