编译安装NGINX

下载nginx

下载地址http://nginx.org/en/download.html

wget http://nginx.org/download/nginx-1.14.2.tar.gz

安装编译工具

  • yum -y install gcc gcc-c++ autoconf automake make zlib zlib-devel libtool pcre-devel openssl openssl-devel

编译配置文件

./configure --prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--sbin-path=/usr/local/nginx/sbin/nginx \
--pid-path=/usr/local/nginx/nginx.pid \
--error-log-path=/usr/local/nginx/log/nginx-error.log \
--http-log-path=/usr/local/nginx/log/nginx-access.log \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_secure_link_module \
--with-http_v2_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-openssl=/usr/include/openssl #配置openssl的可不选

根据openssl的目录配置

CORE_INCS="$CORE_INCS $OPENSSL/"
CORE_DEPS="$CORE_DEPS $OPENSSL/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"

编译 make 编译安装 make install

如果想使用service命令,则创建软连接

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

在这里我是用源码编译安装的,所以要手动创建nginx.service服务文件。
创建一个service文件

 vi /lib/systemd/system/nginx.service

写入文件内容

# 放入到/lib/systemd/system/nginx.service文件里面
[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 quit
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target

#[Unit]:服务的说明
#Description:描述服务
#After:描述服务类别
#[Service]服务运行参数的设置
#Type=forking是后台运行的形式
#ExecStart为服务的具体运行命令
#ExecReload为重启命令
#ExecStop为停止命令
#PrivateTmp=True表示给服务分配独立的临时空间
#注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
#[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3 

设置开机启动 systemctl enable nginx.service

停止开机启动 systemctl disable nginx.service

启动nginx服务 service nginx start

重新加载配置 nginx -s reload

测试配置文件 nginx -t

查看nginx状态 service nginx status