CentOS7.6安装nginx1.15.12

 


 

安装必备工具

$ yum -y install gcc gcc-c++ autoconf automake

$ yum -y install zlib zlib-devel openssl openssl-devel pcre-devel gd-devel

 

说明:

pcre: 用来作地址重写的功能。
zlib:nginx 的gzip模块,传输数据打包,省流量(但消耗资源)。
openssl:提供ssl加密协议。

安装pcre

​[root@localhost src] wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.43/pcre-8.43.tar.gz
​[root@localhost src]# tar -zxf pcre-8.43.tar.gz
​[root@localhost src]# cd pcre-8.43
​[root@localhost pcre-8.40]# ./configure --prefix=/usr/local/pcre
​[root@localhost pcre-8.40]# make && make install

 

安装zlib

​[root@localhost src]# wget http://zlib.net/zlib-1.2.11.tar.gz
​[root@localhost src]# tar -zxf zlib-1.2.11.tar.gz
​[root@localhost src]# cd zlib-1.2.11
​[root@localhost zlib-1.2.11]# ./configure --prefix=/usr/local/zlib
​[root@localhost zlib-1.2.11]# make && make install

 

安装openssl

​[root@localhost src]# wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz
​[root@localhost src]# tar -zxf openssl-1.1.1b.tar.gz
​[root@localhost src]# cd openssl-1.1.1b
​[root@localhost openssl-1.1.0e]# ./config --prefix=/usr/local/openssl
​[root@localhost openssl-1.1.0e]# make && make install
​[root@localhost openssl-1.1.0e]# export PATH=$PATH:/usr/local/openssl/bin
​[root@localhost openssl-1.1.0e]# source /etc/profile

 

安装Nginx

安装

[root@localhost src]# wget http://nginx.org/download/nginx-1.15.12.tar.gz
[root@localhost src]# tar -zxf nginx-1.15.12.tar.gz
[root@localhost src]# cd nginx-1.15.12
[root@localhost src]# groupadd nginx
[root@localhost src]# useradd -g nginx -s /bin/false nginx

 

配置

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_secure_link_module \
--with-mail \
--with-mail_ssl_module \
--with-pcre=/usr/local/src/pcre-8.43 \
--with-zlib=/usr/local/src/zlib-1.2.11 \
--with-openssl=/usr/local/src/openssl-1.1.1b

 

可以查看编译选项

./configure --help

编译安装

[root@localhost nginx-1.15.12]# make && make install

 

配置环境变量

[root@localhost nginx-1.15.12]# vim /etc/profile
export PATH=$PATH:/usr/local/nginx/sbin:/usr/local/mysql/bin:/usr/local/mysql/lib:/usr/local/openssl/bin:/usr/local/php/bin
[root@localhost nginx-1.15.12]# source /etc/profile

 

自启动

方式一:加入到/etc/rd.d/rc.local文件末尾

 

将/usr/local/nginx/sbin/nginx加入到rc.local文件末尾,请确保rc.local有可执行权限,一般linux默认是不会给rc.local可执行权限的

 

方式二:将nginx加入服务(我选择这个)

 

1、在/etc/​rc.d/init.d/下面增加一个脚本,名称 nginx,脚本内容查看这里

 

#! /bin/bash
# chkconfig: 35 85 15  
# description: Nginx is an HTTP(S) server, HTTP(S) reverse
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
SCRIPTNAME=/etc/init.d/$NAME
test -x $DAEMON || exit 0
d_start(){
    $DAEMON || echo -n " already running"
}
d_stop() {
    $DAEMON -s quit || echo -n " not running"
}
d_reload() {
    $DAEMON -s reload || echo -n " counld not reload"
}
case "$1" in
start)
    echo -n "Starting $DESC:$NAME"
    d_start
    echo "."
;;
stop)
    echo -n "Stopping $DESC:$NAME"
    d_stop
    echo "."
;;
reload)
    echo -n "Reloading $DESC configuration..."
    d_reload
    echo "reloaded."
;;
restart)
    echo -n "Restarting $DESC: $NAME"
    d_stop
    sleep 2
    d_start
    echo "."
;;
*)
    echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
    exit 3
;;
esac
exit 0

 

2、加入系统服务并开机自启动

 

chmod +x /etc/rc.d/init.d/nginx (设置可执行权限)

 

chkconfig --add nginx (添加系统服务)

 

chkconfig --level 35 nginx on (开机自启动)

 

3、相关操作

 

1、启动 service nginx start
2、停止 service nginx stop
3、重启 service nginx restart
4、重载配置 service nginx reload

 

配置文件

/usr/local/nginx/conf

 

user  nginx nginx;
worker_processes  2;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    use epoll;
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #隐藏版本号
    server_tokens off;

    gzip  on;

    client_max_body_size 5m;

    #设置404
    fastcgi_intercept_errors on;
    
    include vhost/*.conf;
}

 

相关推荐

http://www.ttlsa.com/nginx/use-nginx-proxy/

解决nginx下php-fpm不记录php错误日志的办法