web服务软件-----nginx

http就是apache,在国内很少用

国内大多用nginx,nginx是开源的,是一款高性能,轻量级的web服务软件

稳定性高,而且版本迭代比较快(修复bug速度快,安全性高)

消耗系统资源很低,http的请求并发连接,单台服务器可以支持3-5万个并发请求。(系统资源全部分配给nginx),单个节点的nginx一般支持2万个并发

nginx的功能:

1)静态文件服务:静态页面,可以直接提供静态文件服务,如 html、css、jsp。处理静态页面的响应速度很快,效率很好

2)代理:正向代理,反向代理。可以实现负载均衡、高可用和故障转移

3)动态内容处理,nginx并不能直接处理动态请求,可以通过中间件把动态请求转发给后端服务器

4)支持加密的http,即https

5)可以实现重定向

6)虚拟主机,一个nginx可以配置多个域名和站点

7)nginx自带缓存机制

8)性能可扩展,处理能力可以随时调整

nginx的应用场景

静态页面

转发动态请求

反向代理,负载均衡

缓存服务

编译安装nginx流程

1.先关闭防火墙和安全机制:

systemctl stop firewalld

setenforce 0

2.安装依赖环境;

yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel

3.创建程序用户:useradd -M -s /sbin/nologin nginx

4.安装包解压

tar -xf nginx-1.22.0.tar.gz

5.开始配置:                     

./configure --prefix=/usr/local/nginx \  指定安装目录

--user=nginx \  指定运行用户

--group=nginx \  指定运行组

--with-http_ssl_module \ 支持https的加密功能ss/tls

--with-http_v2_module \ 支持http2.0协议

--with-http_realip_module \ 支持nginx获取客户端的真实ip地址

--with-http_stub_status_module \ 支持nginx获取访问状态信息的功能

--with-http_gzip_static_module \ 支持页面压缩功能

--with-pcre \ 支持prce库

--with-stream \ 支持4层代理的模块

--with-stream_ssl_module \ 支持对tcp连接的加密

--with-stream_realip_module 支持从代理协议中获取客户端的真实ip地址

6.编译安装

make -j 4 && make install    启动四个cpu进行处理

7.进入软件目录

   cd /usr/local/nginx/

chown -R nginx.nginx /usr/local/nginx #修改权限

如下:

[root@localhost nginx]# ll

总用量 4

drwxr-xr-x. 2 nginx nginx 4096 7月 1 15:11 conf   ,配置文件目录 nginx.conf主配置文件

drwxr-xr-x. 2 nginx nginx 40 7月 1 15:11 html  ,工作目录 50x.html 默认的访问操作打开的页面,index.html 默认的访问主页

drwxr-xr-x. 2 nginx nginx 6 7月 1 15:11 logs , 访问日志目录 访问日志 报错日志

drwxr-xr-x. 2 nginx nginx 19 7月 1 15:11 sbin   ,nginx的二进制启动脚本

8.建立软连接,让系统识别nginx的操作命令

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ 

9.修改配置文件

vim /lib/systemd/system/nginx.service 

如下:

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
#表示支持dns解析以及该软件依赖于网络。
Wants=network-online.target
#先启动网络服务,才能启动nginx
[Service]
Type=forking
PIDFile=/usr/local/nginx/run/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
#支持多用户模

10.创建目录

mkdir -p /usr/local/nginx/run/

11.修改配置文件

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

找到 pid的位置修改 :pid /usr/local/nginx/run/nginx.pid;

12.重启服务

systemctl daemon-reload

重新加载配置

systemctl restart nginx

nginx的常用命令

nginx -t :检测配置文件的语法是否正确

nginx -v :显示nginx的版本

nginx -V :显示版本和配置项

nginx -s 信号 stop 关闭nginx

reload 重新加载nginx,如果更改了配置文件,nginx -s reload 无需重启服务

nginx的配置文件

    主配置文件

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

1、全局模块

知道进程数

 2、events模块

 决定了能够处理的连接数

处理进程的过程必然涉及配置文件和展示页面,也就是涉及打开文件和数量

linux默认打开的文件数是1024个,可以修改

一般设置10000-20000个

修改:进入   vim /etc/security/limits.conf

最后行添加:

修改完后只能重启才能生效

  3、http模块

转发和处理http请求,设置代理(正向代理,反向代理),缓存,定义日志格式,重 定向配置

  4、http当中的server模块

配置虚拟主机的设备。在http的模块中可以有多个server(可以配置多个虚拟主机)

5、server模块当中的location模块

在server当中可以有多个location模块

统计nginx的访问状态:status

各项含义:

Active connections: 1 : 当前活动的连接数

server accepts handled requests :表示已经处理的连接数

三个数字从左往右分别表示:已经处理的连接数;成功的建立连接的次数;已经处理的请求数

Reading :表示服务端正在从客户端读取请求的数据

Writing:表示服务端正在把响应数据发送给客户端

Waiting:表示连接处于空闲状态,等待新的请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值