nginx安装
准备工作
一台环境干净的虚拟机,nginx的压缩包
部署
解决依赖性
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel
依赖库的作用
nginx需要先将官网下载的源码进行编译,编译依赖gcc环境
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库;
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用; nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库解压 nginx的压缩包
tar zxf nginx-1.14.0.tar.gz
关闭debug日志
如果不关闭debug日志,否则要不断清理日志,因为编译和安装nginx服务的时候就会产生大量的日志,占用我们的磁盘空间
vim auto/cc/gcc
关闭访问时的版本显示
如果客户访问可以看到企业nginx服务器使用的版本,这就给黑客攻击留下了漏洞
vim src/core/nginx.h
进入解压目录下进行编译安装
make install只能执行一次,负责会返回所有修改之前的状态,如果要更新,只需要make即可,把新生成的.c文件拷贝过去即可
./configure --prefix=/usr/local/nginx --with-file-aio
make && make install
nginx解压目录里面各目录的意义
auto目录:里面有4个子目录,cc是编译使用的,os是判断操作系统类型的,其他都是辅助configure编译的,也就是操作系统有什么特性供nginx使用
CHANGES:各版本的改变,bug修复等信息
CHANGES.ru:nginx作者是俄罗斯人,这是俄罗斯版本
conf: 为了方便运维配置,conf目录里有示例文件,安装好后会拷贝到安装目录
contrib:提供nginx语法检测字体
cp -r contrib/vim/* ~/.vim ##家目录下如果没有.vim目录,手动新建
html:默认发布目录,50x.html是报500错误时的页面
src:源码目录
objs:编译完成后会生成一个中间目录objs,里面有个ngx_modules.c,表示编译进nginx的模块,可以打开看一下
tar zxf nginx-1.14.0.tar.gz
cd nginx-1