源码安装
nginx中配置文件
/usr/local/nginx/conf nginx.conf
启动nginx
/usr/local/nginx/sbin 执行sudo ./nginx
关闭nginx
sudo ./nginx -s stop
nginx安装过程
1.安装依赖
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
#Ubuntu16.04的仓库中没有发现openssl-dev,由openssl和libssl-dev替代
#apt-get install openssl openssl-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
2.下载安装包 官网
1.tar -xvf nginx-1.13.7.tar.gz
2.#进入解压后的文件
cd nginx-1.13.7
#执行命令
./configure
#执行make命令
make
#执行make install命令
sudo make install
3.启动
#进入nginx启动目录
cd /usr/local/nginx/sbin
#启动nginx
./nginx
http://ubuntu ip:80
1.启动nginx报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
找到80端口的进程并kill 即可
#彻底卸载nginx
apt-get --purge autoremove nginx
nginx文件安装完成之后的文件位置:
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志
查看服务启动情况
查看启动进程情况
查看nginx是否具有线程
查看所有进程和线程的情况
pstree -p
pi’d 是在启动时自动生成的一个pid文件 存放master的进程号 /run/nginx.pid
关闭进程 文件自动删除
删除该文件 nginx仍可被访问
删除该文件 nginx -s stop无效 进程通过该文件判断进程的pid
手动关闭
4为一个总值=最大并发数
1 要与ulimit -n 一致 受到系统文件句柄的限制
虚拟主机的配置
root为访问的页面文件目录 可随便设置 记得写入index.html文件到该目录即可
4 开启为on对对用户较好
off对服务器性能较好
5. 数据报文从磁盘读入到内核,不开启sendfile时,(磁盘到内核到应用程序内存空间。)先复制到应用程序内存空间, 发送时又转回到内核空间,因为通过内核结合网卡才能将数据发出去 ,有个socket和网络相关的缓存 ,
6. 用sendfile的话直接将数据从磁盘发到内核空间,内核空间直接复制到内核里面关于buffer缓冲区直接发出
6,暴露版本不安全,可在http中设置所有虚拟机设置,或者在某一个虚拟机下设置为off
当用户访问www.a.com/news/时候
/news 这个根目录指的是root所指的目录
即会转发到root所指的目录下的news目录中去
/ AB都匹配
/index.html B
/douments/document.html BC都匹配 选C
/images/1.gif BDE都匹配选D
/documents/1.jpg BCE都匹配 选E
10
不指定访问哪个页面时,访问index.html
之前
之后:进入自己配置的404错误页面
避免错误页面被劫持
将错误的返回状态码设置为200 但实际上看到的还是/404.html
进入的还是之前自己配置的404错误页面
测试长连接
红色方框为自己输入
使用18的方式可很大程度上减少系统消耗
相当于将一个文件夹的大量文件分文件夹存放
类似于计算机一块磁盘分成多个盘一样 ,减少寻找文件的扫描时间
做哈希运算 sha1sum
bc命令可以做计算
OPTION探测主机支持哪些方法
到17上测试
到27上测试
ngx_http_access_module
ngx_http_auth_basic_module
对特定文件夹验证
加入1之后的显示的状态信息
对浏览器的响应报文压缩
进入nginx配置文件 /usr/local/nginx/conf 下面有个nginx.conf