编译安装
1.安装依赖
- gcc gcc-c++源代码编译器
- automake 从makefile.am文件自动生成makefile.in的工具
- pcre pcre-devel:支持正则表达式,地址重写rewrite
- zlip zlib-devel:支持nginx压缩
- openssl openssl-devel:支持nginx开启SSL
[root@localhost nginx]# yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel
2. 创建nginx安装目录
- [root@localhost nginx]#mkdir /export/servers/nginx
3. 下载nginx源码包到tmp目录下并解压
- wget http://nginx.org/download/nginx-1.15.7.zip -C /tmp/;unzip nginx-1.15.7.zip
- [root@localhost nginx]# cd /tmp/nginx-1.15.7
4、configure配置编译参数
- ==按需配置编译参数==
- ./configure
- --prefix=指定Nginx安装路径(未指定默认安装在/usr/local/nginx目录)
- --sbin-path=指定nginx可执行文件路径(未指定默认安装在${prefix}/sbin/目录)
- --conf-path=指定nginx.conf路径(未指定默认安装在${prefix}/conf/目录)
- --pid-path=指定nginx.pid路径(未指定默认安装在${prefix}/logs/目录
- --error-log-path=指定nginx错误日志路劲(未指定默认安装在${prefix}/logs/目录)
- --http-log-path=指定nginx访问日志路径(未指定默认安装在${prefix}/logs/目录)
- --http-client-body-temp-path=指定客户端请求报文的临时存放路径
- --http-proxy-temp-path=指定存放HTTP代理临时文件路径
- --http-fastcgi-temp-path=指定fastcgi模块临时文件路径
- --lock-path=指定nginx.lock锁文件路径(未指定默认安装在/var/lock/目录)
- --user=admin --group=admin 指定工作进程的属主属组
- --with-http_ssl_module 启用SSL模块,支持HTTPS请求
- --with-http_stub_status_module 启用servers status页
- --with-http_gzip_static_module 启用静态文件压缩
- --add-module=添加安装模块
[root@localhost nginx]#./configure --prefix=/export/servers/nginx --sbin-path=/export/srevers/nginx/sbin/nginx --conf-path=/export/servers/nginx/nginx.conf --error-log-path=/export/servers/nginx/logs/error.log --http-log-path=/export/servers/nginx/logs/access.log --pid-path=/export/servers/nginx/logs/nginx.pid --lock-path=/export/servers/nginx/lock/nginx.lock --user=admin --group=admin --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/export/servers/nginx/client/ --http-proxy-temp-path=/export/servers/nginx/proxy/ --http-fastcgi-temp-path=/export/servers/nginx/fcgi/
5. 编译安装
- [root@localhost nginx]#make && make install
6.启动nginx,验证nginx是否安装成功
[root@localhost sbin]# /export/srevers/nginx/sbin/nginx -c /export/servers/nginx/conf/nginx.conf
[root@localhost sbin]# ps -ef | grep nginx
root 22089 1 0 10:52 ? 00:00:00 nginx: master process /export/srevers/nginx/sbin/nginx -c /export/servers/nginx/conf/nginx.conf
admin 22090 22089 0 10:52 ? 00:00:00 nginx: worker process
root 22092 3025 0 10:52 pts/1 00:00:00 grep nginx
[root@localhost sbin]# curl -I 192.168.1.9:80
HTTP/1.1 200 OK
Server: nginx/1.15.7
Date: Thu, 29 Nov 2018 02:54:22 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 28 Nov 2018 09:47:45 GMT
Connection: keep-alive
ETag: "5bfe6441-264"
Accept-Ranges: bytes
7. 安装成功后,安装目录的文件内容:
[root@localhost nginx]# pwd
/export/servers/nginx
[root@localhost nginx]# tree
.
├── conf ==存放nginx所有配置文件目录==
│ ├── fastcgi.conf
│ ├── fastcgi.conf.default
│ ├── fastcgi_params
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types
│ ├── mime.types.default
│ ├── nginx.conf ==主配置文件==
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default
│ ├── uwsgi_params
│ ├── uwsgi_params.default
│ └── win-utf
├── html ==静态网页文件目录==
│ ├── 50x.html
│ └── index.html
├── logs ==日志目录==
└── sbin ==主程序目录==
└── nginx
- ==最小化编译安装==
- wget 源码包到/tmp目录下解压
[root@localhost nginx]# wget http://nginx.org/download/nginx-1.15.7.zip -C /tmp/;unzip nginx-1.15.7.zip - 新建nginx安装目录
[root@localhost nginx]# mkdir /export/servers/nginx - 配置nginx编译参数
[root@localhost nginx]#./configure --prefix=/export/servers/nginx - 编译安装
[root@localhost nginx]# make && make install
总结:
编译安装nginx分两种方式:
- 最小化安装(不指定编译参数直接执行./configure && make && make install)
- 按需指定编译参数安装(./configure --prefix='' ..其它编译参数)
- 部署流程为:
创建安装目录》下载源码包到其它目录》进入其它目录解压源码包》执行./configure --prefix=指令安装目录》执行make && make install进行编译安装
注: 源码包目录最好和安装目录分开,源码包如果和安装目录在同一目录安装完安装目录会显得很乱
- nginx安装完之后包含四个目录
conf、html、logs、sbin、