CentOS7下编译安装Nginx1.12.2

CentOS7下编译安装Nginx1.12.2.

Linux下编译安装主要步骤如下

  1. 安装编译工具,依赖包下载源码包
  2. 解压编译,安装
  3. 写守护进程文件,实现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

猜你喜欢

转载自www.cnblogs.com/baijuminglu/p/9275053.html