linux centos7安装nginx,并配置开机自启服务

2 篇文章 0 订阅
1 篇文章 0 订阅

目录

一.安装所需插件

1、安装编译工具以及库文件

2、pcre、pcre-devel安装

二.安装nginx

1、个人目录(可忽略)

2、下载nginx安装包,查找最新版本链接

3、把压缩包解压到 /home/zoujc

4、安装,执行三个命令:

5、启动nginx服务

 6、测试是否成功,访问公网id或域名

  7、常用操作命令

三.配置开机启动

1、nginx.conf 的pid配置

2、在/etc/init.d/目录下创建文件nginx,改变该文件权限,设置开机启动 ,vi编辑文件

vi nginx 详细操作: 官方配置模板链接;

3、切换成服务命令:

四.nginx服务操作命令


一.安装所需插件

1、安装编译工具以及库文件

zlib zlib-devel 提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip

gcc-c++ linux下的编译器,它可以编译 C,C++,Ada,Object C和Java等语言

libtool  通用库支持脚本

openssl openssl-devel web安全通信的基石

[root@hangzhou1 ~]# cd /usr/local/src/
[root@hangzhou1 src]# yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

2、pcre、pcre-devel安装

1.查看是否安装与版本命令:

[root@hangzhou1 src]# pcre-config --version

2.如果未安装,安装命令:

[root@hangzhou1 src]# yum install -y pcre pcre-devel

二.安装nginx

1、个人目录(可忽略)

cd /home
mkdir zoujc
cd zoujc

2、下载nginx安装包,

查找最新版本链接

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

3、把压缩包解压到 /home/zoujc

tar -zxvf nginx-1.23.1.tar.gz

4、安装,执行三个命令:

cd /home/zoujc/nginx-1.23.1/
./configure
make
make install

5、启动nginx服务

/usr/local/nginx/sbin/nginx

 6、测试是否成功,访问公网id或域名

  7、常用操作命令

/usr/local/nginx/sbin/nginx                      # 启动
/usr/local/nginx/sbin/nginx -s reload            # 重新载入配置文件
/usr/local/nginx/sbin/nginx -s reopen            # 重启 Nginx
/usr/local/nginx/sbin/nginx -s stop              # 停止 Nginx

三.配置开机启动

1、nginx.conf 的pid配置

修改nginx.conf: vi /usr/local/nginx/conf/nginx.conf

#pid        logs/nginx.pid;
改成
pid       /var/run/nginx.pid;

完成输入后,按Esc后,再按Shift加冒号;输入wq!强制保存退出

重新载入配置文件:/usr/local/nginx/sbin/nginx -s reload  

2、在/etc/init.d/目录下创建文件nginx,改变该文件权限,设置开机启动 ,vi编辑文件

命令备注
cd /etc/init.d切到/etc/init.d/目录下
touch nginx不存在nginx,创建文件nginx
chmod 755 nginx 文件权限
vi nginx编辑 nginx文件, 详细操作看后面的
chkconfig --add nginx设置 开机自启动服务
chkconfig --level 2345 nginx on设置 service运行级别

vi nginx 详细操作: 官方配置模板链接

编辑文件, vim 文件名,i 进入编辑,
根据本地的实际路径,将官方配置模板代码中的:

 vi nginx

nginx="/usr/sbin/nginx"
改为实际配置路径: 
nginx="/usr/local/nginx/sbin/nginx"

-------------------------------------------------

NGINX_CONF_FILE="/etc/nginx/nginx.conf"
改为实际配置路径: 
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

最后将这个改动后内容复制粘贴到nginx文件内;

完成输入后,按Esc后,再按Shift加冒号;输入wq!强制保存退出

改动后的代码:

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  NGINX is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {
   # make required directories
   user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   if [ -n "$user" ]; then
      if [ -z "`grep $user /etc/passwd`" ]; then
         useradd -M -s /bin/nologin $user
      fi
      options=`$nginx -V 2>&1 | grep 'configure arguments:'`
      for opt in $options; do
          if [ `echo $opt | grep '.*-temp-path'` ]; then
              value=`echo $opt | cut -d "=" -f 2`
              if [ ! -d "$value" ]; then
                  # echo "creating" $value
                  mkdir -p $value && chown -R $user $value
              fi
          fi
       done
    fi
}

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest || return $?
    stop
    sleep 1
    start
}

reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $prog -HUP
    retval=$?
    echo
}

force_reload() {
    restart
}

configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac

3、切换成服务命令:

先停止:/usr/local/nginx/sbin/nginx -s stop

改用新命令启动:service nginx start

四.nginx服务操作命令

systemctl list-units --type=service # 查看所有以启动的服务
System V init 命令(RHEL 6)systemctl 命令(RHEL 7)作用
service nginx statussystemctl status nginx.service查看服务状态
service nginx startsystemctl start nginx.service启动服务
service nginx stopsystemctl stop nginx.service停止服务
service nginx restartsystemctl restart nginx.service重启服务
service nginx reload systemctl reload nginx.service重新加载配置文件(不终止服务)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值