CentOS7下编译安装Nginx1.12.2.
Linux下编译安装主要步骤如下
- 安装编译工具,依赖包下载源码包
- 解压编译,安装
- 写守护进程文件,实现nginx自启动。
准备工作
安装编译工具,依赖包
yum -y install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
建用户
groupadd -r nginx
useradd -s /sbin/nologin -g nginx -r nginx
nginx编译安装
下载源码包
wget http://nginx.org/download/nginx-1.12.2.tar.gz
解压并编译
tar -xvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure \
--prefix=/usr/local/nginx \
--conf-path=/etc/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-stream \
--user=nginx \
--group=nginx \
配置成功信息
checking for OS
+ Linux 3.10.0-693.11.1.el7.x86_64 x86_64
checking for C compiler ... found
+ using GNU C compiler
+ gcc version: 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
checking for gcc -pipe switch ... found
...
Configuration summary
+ using system PCRE library
+ OpenSSL library is not used
+ using system zlib library
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/etc/nginx"
nginx configuration file: "/etc/nginx/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
编译安装
make && make install
nginx命令(在/usr/local/nginx/sbin下)
#启动
nginx
#停止
nginx -s stop
#重启
nginx -s reload
编写systemd启动脚本
cat > /lib/systemd/system/nginx.service << EOF
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
启动nginx
systemctl enable nginx.service
systemctl start nginx.service
systemctl status nginx.service