How to install and configure Nginx

PHPz
Release: 2023-05-20 08:43:18
forward
1035 people have browsed it

环境准备

1. 操作系统

centos 6.4 x86_64

2.软件版本

nginx 1.4.2

3.实验拓扑

4.安装yum源

[root@nginx ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@web1 ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@web2 ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Copy after login

5.各节点时间同步

[root@nginx ~]# ntpdate 202.120.2.101
[root@web1 ~]# ntpdate 202.120.2.101
[root@web2 ~]# ntpdate 202.120.2.101
Copy after login

6.关闭防火墙与selinux

[root@nginx ~]# service iptables stop 
[root@nginx ~]# chkconfig iptables off 
[root@nginx ~]# getenforce 
disabled
[root@web1 ~]# service iptables stop 
[root@web1 ~]# chkconfig iptables off 
[root@web1 ~]# getenforce 
disabled
[root@web2 ~]# service iptables stop 
[root@web2 ~]# chkconfig iptables off 
[root@web2 ~]# getenforce 
disabled
Copy after login

安装nginx

1.解压

[root@nginx src]# tar xf nginx-1.4.2.tar.gz
Copy after login

2.新建nginx用户与组

[root@nginx src]# groupadd -g 108 -r nginx 
[root@nginx src]# useradd -u 108 -r -g 108 nginx 
[root@nginx src]# id nginx 
uid=108(nginx) gid=108(nginx) 组=108(nginx)
Copy after login

3.准备编译配置文件

[root@nginx src]# yum install -y pcre-devel openssl-devel
[root@nginx nginx-1.4.2]# ./configure  --prefix=/usr  --sbin-path=/usr/sbin/nginx  --conf-path=/etc/nginx/nginx.conf  --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log  --pid-path=/var/run/nginx/nginx.pid  --lock-path=/var/lock/nginx.lock  --user=nginx  --group=nginx  --with-http_ssl_module  --with-http_flv_module  --with-http_stub_status_module  --with-http_gzip_static_module  --http-client-body-temp-path=/var/tmp/nginx/client/  --http-proxy-temp-path=/var/tmp/nginx/proxy/  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi  --http-scgi-temp-path=/var/tmp/nginx/scgi  --with-pcre
Copy after login

4.编译并安装

[root@nginx nginx-1.4.2]# make && make install
Copy after login

5.为nginx提供sysv init脚本

[root@nginx ~]# cat /etc/init.d/nginx 
#!/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/sbin/nginx" 
prog=$(basename $nginx) 
nginx_conf_file="/etc/nginx/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:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` 
  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 
} 
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 $nginx -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
Copy after login

6.为此脚本赋予执行权限

[root@nginx ~]# chmod +x /etc/init.d/nginx
Copy after login

7.添加至服务管理列表,并让其开机自动启动

[root@nginx ~]# chkconfig --add nginx 
[root@nginx ~]# chkconfig nginx on 
[root@nginx ~]# chkconfig nginx --list 
nginx       0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
Copy after login

8.启动nginx

[root@nginx ~]# service nginx start 
正在启动 nginx:                      [确定]
Copy after login

9.查看一下端口

[root@nginx ~]# netstat -ntlp | grep :80 
tcp    0   0 0.0.0.0:80         0.0.0.0:*          listen   3889/nginx
Copy after login

10.测试一下

How to install and configure Nginx

The above is the detailed content of How to install and configure Nginx. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!