zoukankan      html  css  js  c++  java
  • Centos7安装Nginx

    1、安装 gcc 编译器

    ​[root@CentOS ~]# yum -y install gcc

    2、安装依赖库

    由于Nginx 的一些模块需要依赖其他第三方库,通常有 pcre 库(支持 rewrite 模块),zlib 库(支持 gzip 模块),和openssl(支持 ssl 模块)等。

    ​[root@CentOS ~]# yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel

    3、下载安装包

    ​[root@CentOS local]# wget http://nginx.org/download/nginx-1.12.2.tar.gz

    4、解压安装包

    ​[root@CentOS local]# tar -zxvf nginx-1.12.2.tar.gz 
    nginx-1.12.2/
    nginx-1.12.2/auto/
    nginx-1.12.2/conf/
    nginx-1.12.2/contrib/
    nginx-1.12.2/src/
    nginx-1.12.2/configure
    nginx-1.12.2/LICENSE
    nginx-1.12.2/README
    nginx-1.12.2/html/
    nginx-1.12.2/man/
    ......(略去内容)......

    5、创建名为 nginx 的目录,用于保存编译安装后的文件

    ​[root@CentOS local]# mkdir nginx
    [root@CentOS local]# ll
    总用量 960
    drwxr-xr-x.  2 root  root       6 2月  24 16:18 bin
    drwxr-xr-x.  2 root  root       6 11月  5 2016 etc
    drwxr-xr-x.  2 root  root       6 11月  5 2016 games
    drwxr-xr-x.  2 root  root       6 11月  5 2016 include
    drwxr-xr-x.  2 root  root       6 11月  5 2016 lib
    drwxr-xr-x.  2 root  root       6 11月  5 2016 lib64
    drwxr-xr-x.  2 root  root       6 11月  5 2016 libexec
    drwxr-xr-x. 10 root  root     141 2月  24 19:03 mysql
    drwxr-xr-x.  6 root  root      54 3月  10 00:54 nginx            # 这里是刚创建的 nginx 目录
    drwxr-xr-x.  9 mysql mysql    186 3月  10 00:53 nginx-1.12.2     # 这里是解压后的目录
    -rw-r--r--.  1 root  root  981687 10月 17 21:20 nginx-1.12.2.tar.gz
    drwxr-xr-x.  2 root  root       6 11月  5 2016 sbin
    drwxr-xr-x.  5 root  root      49 1月  30 14:30 share
    drwxr-xr-x.  2 root  root       6 11月  5 2016 src

    6、生成Makefile

    ​[root@CentOS local]# cd nginx-1.12.2/
    [root@CentOS nginx-1.12.2]# ./configure --prefix=/usr/local/nginx

    --prefix 参数用于指定编译安装的目录,即 /usr/local/nginx。另外,我们可以看到在 /usr/local/nginx-1.12.2 目录下新生成的 Makefile 文件:

    ​[root@CentOS nginx-1.12.2]# ll
    总用量 708
    drwxr-xr-x. 6 mysql mysql   4096 3月  10 00:52 auto
    -rw-r--r--. 1 mysql mysql 278202 10月 17 21:16 CHANGES
    -rw-r--r--. 1 mysql mysql 423948 10月 17 21:16 CHANGES.ru
    drwxr-xr-x. 2 mysql mysql    168 3月  10 00:52 conf
    -rwxr-xr-x. 1 mysql mysql   2481 10月 17 21:16 configure
    drwxr-xr-x. 4 mysql mysql     72 3月  10 00:52 contrib
    drwxr-xr-x. 2 mysql mysql     40 3月  10 00:52 html
    -rw-r--r--. 1 mysql mysql   1397 10月 17 21:16 LICENSE
    -rw-r--r--. 1 root  root     376 3月  10 00:54 Makefile    # 这里是刚生成的 Makefile 文件
    drwxr-xr-x. 2 mysql mysql     21 3月  10 00:52 man
    drwxr-xr-x. 3 root  root     174 3月  10 00:54 objs
    -rw-r--r--. 1 mysql mysql     49 10月 17 21:16 README
    drwxr-xr-x. 9 mysql mysql     91 3月  10 00:52 src
    [root@CentOS nginx-1.12.2]# 

    7、编译并安装

    ​[root@CentOS nginx-1.12.2]# make && make install
    ​[root@CentOS local]# cd nginx
    [root@CentOS nginx]# ll
    总用量 4
    drwxr-xr-x. 2 root root 4096 3月  10 00:54 conf
    drwxr-xr-x. 2 root root   40 3月  10 00:54 html
    drwxr-xr-x. 2 root root    6 3月  10 00:54 logs
    drwxr-xr-x. 2 root root   19 3月  10 00:54 sbin
    [root@CentOS nginx]# 

    8、启动Nginx

    ​[root@CentOS nginx]# ll
    总用量 4
    drwxr-xr-x. 2 root root 4096 3月  10 00:54 conf
    drwxr-xr-x. 2 root root   40 3月  10 00:54 html
    drwxr-xr-x. 2 root root    6 3月  10 00:54 logs
    drwxr-xr-x. 2 root root   19 3月  10 00:54 sbin
    [root@CentOS nginx]# ./sbin/nginx         # 启动 Nginx
    [root@CentOS nginx]# ps -ef | grep nginx    # 确认 Nginx 进程是否已存在
    root      13511      1  0 01:13 ?        00:00:00 nginx: master process ./sbin/nginx
    nobody    13513  13511  0 01:13 ?        00:00:00 nginx: worker process
    root      13517   3494  0 01:13 pts/0    00:00:00 grep --color=auto nginx
    [root@CentOS nginx]# 

    9、在 /etc/init.d 目录下创建 nginx 脚本

    ​[root@CentOS init.d]# touch nginx
    [root@CentOS init.d]# chmod u+x nginx    # 给脚本添加用户执行权限
    [root@CentOS init.d]# ll
    总用量 48
    -rw-r--r--. 1 root root 15131 9月  12 2016 functions
    -rwxr-xr-x. 1 root root 10576 2月  24 18:57 mysql
    -rwxr-xr-x. 1 root root  2989 9月  12 2016 netconsole
    -rwxr-xr-x. 1 root root  6643 9月  12 2016 network
    -rwxr--r--. 1 root root     0 3月  10 01:55 nginx    # 可以看到刚创建的脚本 nginx
    -rw-r--r--. 1 root root  1160 11月  7 2016 README
    -rwxr--r--. 1 root root   450 3月   2 22:50 svnd
    [root@CentOS init.d]# 

    nginx 脚本内容如下:

    ​#!/bin/bash
    # chkconfig: - 85 15
    PATH=/usr/local/nginx
    DESC="nginx daemon"
    NAME=nginx
    DAEMON=$PATH/sbin/$NAME
    CONFIGFILE=$PATH/conf/$NAME.conf
    PIDFILE=$PATH/logs/$NAME.pid
    SCRIPTNAME=/etc/init.d/$NAME
    set -e
    [ -x "$DAEMON" ] || exit 0
    do_start() {
    $DAEMON -c $CONFIGFILE || echo -n "nginx already running"
    }
    do_stop() {
    $DAEMON -s stop || echo -n "nginx not running"
    }
    do_reload() {
    $DAEMON -s reload || echo -n "nginx can't reload"
    }
    case "$1" in
    start)
    echo -n "Starting $DESC: $NAME"
    do_start
    echo "."
    ;;
    stop)
    echo -n "Stopping $DESC: $NAME"
    do_stop
    echo "."
    ;;
    reload|graceful)
    echo -n "Reloading $DESC configuration..."
    do_reload
    echo "."
    ;;
    restart)
    echo -n "Restarting $DESC: $NAME"
    do_stop
    do_start
    echo "."
    ;;
    *)
    echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
    exit 3
    ;;
    esac
    exit 0

    10、启动或停止 nginx 服务

    ​[root@CentOS init.d]# service nginx start
    Starting nginx daemon: nginx.
    [root@CentOS init.d]# ps -ef | grep nginx    # 确认 nginx 服务已启动
    root      14696      1  0 02:01 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    nobody    14699  14696  0 02:01 ?        00:00:00 nginx: worker process
    root      14702   3494  0 02:02 pts/0    00:00:00 grep --color=auto nginx
    [root@CentOS init.d]# 
    ​[root@CentOS init.d]# service nginx stop
    Stopping nginx daemon: nginx.
    [root@CentOS init.d]# ps -ef | grep nginx    # 确认 nginx 服务已停止
    root      14734   3494  0 02:02 pts/0    00:00:00 grep --color=auto nginx
    [root@CentOS init.d]# 

    11、将 nginx 服务添加到系统服务,并设置为开机启动

    ​[root@CentOS init.d]# chkconfig --add nginx
    [root@CentOS init.d]# chkconfig nginx on
    注意:正在将请求转发到“systemctl enable nginx.service”。
    Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
    [root@CentOS init.d]# 
    艺无止境,诚惶诚恐, 感谢开源贡献者的努力!!
  • 相关阅读:
    BZOJ2594 [Wc2006]水管局长数据加强版 LCT kruskal
    BZOJ1180 [CROATIAN2009]OTOCI LCT
    BZOJ2631 tree LCT
    BZOJ1901 Zju2112 Dynamic Rankings 主席树
    BZOJ1367 [Baltic2004]sequence 堆 左偏树
    BZOJ5120 [2017国家集训队测试]无限之环 费用流
    BZOJ3377 [Usaco2004 Open]The Cow Lineup 奶牛序列 其他
    BZOJ3091 城市旅行 LCT
    BZOJ2843 极地旅行社 LCT
    BZOJ1269 [AHOI2006]文本编辑器editor splay
  • 原文地址:https://www.cnblogs.com/d0usr/p/11210996.html
Copyright © 2011-2022 走看看