一、 web服务器Nginx的功能与作用
1. 反向代理的作用真实的服务器不能直接被外部网络访问,所以需要一台代理服务器, 而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境, 当然也可能是同一台服务器,端口不同而已
proxy_pass http://localhost:8080;
proxy_set_header Host $host:$server_port;
2. 负载均衡:就是分摊到多个操作单元上进行执行,比如web服务、FTP服务等共同完成任务。 是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理, 负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。 而Nginx目前支持自带3种负载均衡策略,还有2种常用的第三方策略。
RR
upstream test { 负载均衡区域
server localhost:8080;
server localhost:8081;
proxy_pass http://test; 反向代理区域
3. 权重:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况
upstream test {
server localhost:8080 weight=9; 9次访问
server localhost:8081 weight=1; 1次访问
}
4. fair(第三方): 按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backend {
fair;
server localhost:8080;
server localhost:8081;
}
5. url_hash第三方:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器, 后端服务器为缓存时比较有效
upstream backend {
hash $request_uri;
hash_method crc32;
server localhost:8080;
server localhost:8081;
}
二、 HTTP服务器
1. nginx本身也是静态资源服务器,当只有静态资源的时候可以使用Nginx来做服务器, 可以使用动静分离nginx也可以实现。
server {
listen 80;
server_name localhost;
client_max_body_size 1024M;
location / {
root e:\wwwroot;
index index.html;
}
}
2、正向代理:正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器 为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器), 然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理 当你需要把你的服务器作为代理服务器的时候,可以用Nginx来实现正向代理 Nginx正向代理不支持https resolver_timeout 5s; 正向代理的DNS服务器
2. 如何在不关闭nginx和他进程的情况下重启?
Killall -s 1 进程名 Nginx平滑重启:kill -HUP ‘cat /opt/nginx/logs/nginx.pid'
三、 apache的原理及功能作用
1、acl访问控制基于用户密码的控制方案
authname "welcome to apahce"
authtype basic
authuserfile /usr/local/apache2/htdocs/a.psd
require valid-user
添加用户与系统用户无关
/usr/local/apache2/bin/htpasswd -c/usr/local/apache2/htdocs/a.psd zhangsan
/usr/local/apache2/bin/htpasswd -m /usr/local/apache2/htdocs/a.psd lisi
2、基于客户端地址的认证方案允许个别拒绝所有
<requireall>
require all granted
require ip xx.xx.xx.xx
</requireall>
3、虚拟主机功能:基于ip地址的虚拟主机,一个域名多个ip
4、虚拟主机功能:基于端口的虚拟主机,一个ip多个端口
5、虚拟主机功能:基于域名的虚拟主机,一个ip可以有多个域名
6、可以配置HTTPS加密颁发证书
7、apache的工作模式
prefork:一个管理进程 多个工作进程 每个工作进程维持一个线程 每个线程维持一个连接
worker:一个管理进程 多个工作进程 每个工作进程维持多个线程 每个线程维持一个连接
8、apahce访问慢如何结局?
首先使用top命令查看服务器负载情况高不高、 然后查看线程httpd的数量看看是不是到达了连接的最大值 看看是不是人多导致的。 也可以加内存硬件方面
netstat -ant | grep $ip:80 | wc -l
可以更改apache最大连接数 更改主配置文件
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild
四、 Tomcat的工作原理
1. tomcat是由Apache、SUN公司开发而成,由于有了SUN的参与和支持, 最新的语言规范总能在Tomcat中得到体现,
因为Tomcat技术先进、性能稳定,而且免费, 成为目前比较流行的web应用服务器,Tomcat处理静态HTML能力不如Apache服务器, 所以一般不使用Tomcat作为web服务,还是会使用apache或nginx作为web服务器
2. JDK: JAVA开发工具包,有两个版本,一个是OpenJDK等同于SUNJDK,一个是oracaljdk
3. Tomcat有着apache和nginx一样的web网页的功能,tomcat是war包java编写的
五、 LVM的过程
1、创建物理卷
pvcreate 创建PV
pvscan 扫描PV
pvdisplay 显示PV
pvremove 删除PV
partprobe 创建卷组
vgcreate 创建VG
vgscan 扫描VG vgdispaly
vgextend
vgreduce
vgchange
vgremove
lvcreate
lvscan
lvdisplay
lvextend
lvreduce
lvremove
lvresize
2.创建逻辑
使用Linux LVM
定义物理卷
将硬盘上的物理分区转换为Linu.LVM的物理卷区段,使用fdisk命令, 通过t命令改变分区类型(8e类型表示分区会作为Linux LVM系统的一部分); 然后通过pvcreate命令创建实际的物理卷
pvcreat./dev/sdb1 # 创建物理卷
pvdispla./dev/sdb1 # 查看物理卷信息
创建卷组
vgcread Vol1(卷组名)
/dev/sdb1 # 创建卷组
vgdisplay Vol1 # 查看卷组信息
创建逻辑卷
lvcreate -l 100%FREE -n lvtest Vol1 # 创建逻辑卷使用全部空闲空间,卷名lvtest, 在Vol1卷组创建
-l # 指定分配区段数,或百分比
-L # 指定使用大小(KB,MB,GB)
-n # 指定逻辑卷名
-lvdisplay Vol1# 查看逻辑卷信息
创建文件系统
mkfs.ext4 /dev/Vol1/lvtest # 在逻辑卷lvtest中写入ext4文件系统
挂载使用
mount /dev/Vol1/lvtest /mnt/my_partition # 将lvtest卷挂载至/my_partition
注意:在写入文件系统和挂载使用时,使用卷组名和逻辑卷名,而不是物理分区路径 修改LVM Linux LVM包中的常见命令
命令
|
功能
|
vgchange
|
激活和禁用卷组
|
vgremove
|
删除卷组
|
vgextend
|
将物理卷加到卷组中
|
vgreduce
|
从卷组删除物理卷
|
lvextend
|
增加逻辑卷大小
|
lvreduce
|
减小逻辑卷大小
|