Linux编译安装nginx
背景:
学习nginx之前需要先会安装nginx,这里记录下如何编译安装nginx,为以后复习使用。
PS:没有特殊的需求,最好使用yum安装,yum安装需要配epel的yum源。
官方yum源地址: http://nginx.org/packages/centos/6/x86_64/RPMS Fedora-EPEL:
根据大版本选择6或者7,或者其他。
安装:
1、准备nginx源码包
官方下载地址:
2、编译前准备工作
1) 安装开发包组
yum -y groupinstall "development tools"
2) 安装编译需要用到的开发包(这些包在安装开发包组时不会安装):
yum install pcre-devel openssl-devel zlib-devel
3) 解压源码包
tar xvf nginx-1.10.3.tar.gz
4) cd 进解压目录下
cd nginx-1.10.3
5) 准备nginx用户和用户组
useradd -r nginx
3、开始编译安装
1) ./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_dav_module --with-http_stub_status_module --with-threads --with-file-aio
编译安装nginx选项: --prefix=/etc/nginx 安装路径 --sbin-path=/usr/sbin/nginx 指明nginx程序文件安装路径 --conf-path=/etc/nginx/nginx.conf 主配置文件安装位置 --error-log-path=/var/log/nginx/error.log 错误日志文件安装位置 --http-log-path=/var/log/nginx/access.log 访问日志文件安装位置 --pid-path=/var/run/nginx.pid 指明pid文件安装位置 --lock-path=/var/run/nginx.lock 锁文件安装位置 --http-client-body-temppath=/var/cache/nginx/client_temp 客户端body部分的临时文件存放路径,如果服务器允许客户端使用put方法提交大数据时,临时存放的磁盘路径 --http-proxy-temp-path=/var/cache/nginx/proxy_temp 作为代理服务器,服务器响应报文的临时文件存放路径 --http-fastcgi-temppath=/var/cache/nginx/fastcgi_temp 作为fastcgi代理服务器,服务器响应报文的临时文件存放路径 --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 作为uwsgi代理服务器,服务器响应报文的临时文件存放路径 --http-scgi-temp-path=/var/cache/nginx/scgi_temp 作为scgi反代服务器,服务器响应报文的临时文件存放路径 --user=nginx 指明以那个身份运行worker进程,主控master进程一般由root运行 --group=nginx --with-http_ssl_module 表示把指定模块编译进来
2) make && make install
4、nginx使用
ls /usr/local/nginx/html是测试页,sbin是主程序 ls /usr/local/nginx/sbin/nginx只有一个程序文件 ls /usr/local/nginx/html/50x.html index.html 测试网页 nginx:默认为启动nginx -h 查看帮助选项 -t 测试nginx语法错误 -c filename 指定配置文件(default: /etc/nginx/nginx.conf) -s signal 发送信号给master进程,signal可为:stop, quit,reopen, reload 示例:
nginx
nginx -s stop 停止
nginx -s reload 重新加载配置文件 nginx -g directives 在命令行中指明全局指令