nginx学习
Posted q455674496
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx学习相关的知识,希望对你有一定的参考价值。
1,检测linux上是否 通过yum安装了nginx
rpm -qi nginx
2.安装nginx之前的依赖包
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
3.源代码编译安装tenginx
1.下载淘宝nginx的源代码包 wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz 2.解压缩源代码 tar -zxvf tengine-2.3.0.tar.gz 3.切换进入nginx源代码目录 进行编译安装 cd tengine-2.3.0 4.释放编译文件,指定安装路径 ./configure --prefix=/opt/s18tngx/ 5.开始编译且安装 make && make install 6.卸载之前通过yum安装的nginx yum remove nginx -y 7. 查看nginx的安装目录,有哪些东西
[[email protected] s18tngx]# ls
conf 存放nginx的配置文件目录的
html 存放前端文件的地儿
logs 存放nginx日志文件的目录
sbin 存放nginx的可执行命令
8.配置nginx的环境变量,支持快捷启动
vim /etc/profile
写入到PATH
9.启动nginx
直接输入nginx命令
10.修改nginx的首页文件
存放在nginx安装目录下的html文件夹中,名为index.html的文件
vim index.html
写入你想要的数据
4.nginx的配置文件(片段)
[[email protected] conf]# grep -v "^#" nginx.conf|grep -v "^$" worker_processes 1; #全局变量,工作进程数 events { epoll; worker_connections 65536; #根据linux的文件描述符来修改 } #http代表nginx核心功能块 http { include mime.types; default_type application/octet-stream; gzip on; #开启压缩图片功能 #代表nginx的虚拟主机功能 #当我们访问192.168.226.128:80/就进入这个虚拟主机的配置 #第一个虚拟主机,。dnf网址 server { #nginx监听的端口 listen 80; #填写服务器的域名,没有域名就写ip地址即可 server_name 192.168.226.128; #路径资源匹配 ,匹配 / 目录 #192.168.226.128:80/ #这是最低级匹配,所有的请求,都会进入这个location location / { #root参数指的是定义一个虚拟主机根目录 root html; #index参数指定首页文件的名字 index index.html index.htm; } #第二个虚拟主机 韩剧网址 server { listen 80; server_name 192.168.226.128; location / { root /opt/s18hanju/; # 在opt下创建s18hanju文件夹,在s18hanju中创建index.html index index.html; } } }
nginx多虚拟主机有俩概念
1.如果没有域名,写ip地址的话,虚拟主机是自上而下的加载顺序 ,
2.如果有域名,nginx会基于域名区分虚拟主机
配置完成后,重新加载nginx, 平滑重启
nginx -s reload
学习nginx的状态模块功能
1.修改nginx.conf的配置文件 找到一个server虚拟主机,写入如下配置 location /status { stub_status on; } 2.重启nginx,加载这个status状态模块功能 3.通过ab压测命令,去给网站发起n多个请求 安装ab压测命令工具 yum -y install httpd-tools 4.给服务器nginx,发起一万个请求 ab -kc 1000 -n 10000 http://192.168.226.128/
nginx的access.log访问日志功能
编辑nginx.conf打开如下配置参数 打开如下注释 log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘ ‘$status $body_bytes_sent "$http_referer" ‘ ‘"$http_user_agent" "$http_x_forwarded_for"‘; access_log logs/access.log main; access_log "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G" main; 重启nginx查看logs下的日志文件,检测用户请求信息 tail -f logs/access.log
nginx限制ip访问功能
找到nginx.conf修改如下代码 location / { #禁止192.168.226.0/24 这个地址段所有的ip访问 deny 192.168.226.1 ; root /opt/s18dnf; index index.html index.htm; }
实现nginx的反向代理功能
一个是真实资源文件 192.168.226.128 就理解为房东 ,提供dnf的资源界面 一个是反向代理服务器 192.168.226.129 理解为中介,当我们访问中介,就访问到dnf的网站资源 1.分别在2台机器,安装nginx 2.资源服务器已经配置好,返回dnf页面 3.反向代理服务器配置如下 vim编辑nginx.conf 找到第一个server虚拟主机 修改配置如下 location / { proxy_pass http://192.168.226.128; } 4.重启nginx,查看反向代理效果
以上是关于nginx学习的主要内容,如果未能解决你的问题,请参考以下文章