12.6 Nginx安装

12.7 默认虚拟主机

12.8 Nginx用户认证

12.9 Nginx域名重定向



12.6 Nginx安装

 cd /usr/local/src

 wget http://nginx.org/download/nginx-1.12.1.tar.gz  //下载地址

2018-6-7_51cto

 tar zxf nginx-1.12.1.tar.gz

2018-6-7_nginx_02

 ./configure --prefix=/usr/local/nginx 

 make &&  make install

2018-6-7_51cto_03

conf //配置文件目录  html //样例文件 logs //存放日志  sbin //进程,核心文件

 vim /etc/init.d/nginx //启动脚本放到这里(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/etc_init.d_nginx )

启动脚本:

#!/bin/bash

# chkconfig: - 30 21

# description: http service.

# Source Function Library

. /etc/init.d/functions

# Nginx Settings

NGINX_SBIN="/usr/local/nginx/sbin/nginx"

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

NGINX_PID="/usr/local/nginx/logs/nginx.pid"

RETVAL=0

prog="Nginx"

start() 

{

    echo -n $"Starting $prog: "

    mkdir -p /dev/shm/nginx_temp

    daemon $NGINX_SBIN -c $NGINX_CONF

    RETVAL=$?

    echo

    return $RETVAL

}

stop() 

{

    echo -n $"Stopping $prog: "

    killproc -p $NGINX_PID $NGINX_SBIN -TERM

    rm -rf /dev/shm/nginx_temp

    RETVAL=$?

    echo

    return $RETVAL

}

reload()

{

    echo -n $"Reloading $prog: "

    killproc -p $NGINX_PID $NGINX_SBIN -HUP

    RETVAL=$?

    echo

    return $RETVAL

}

restart()

{

    stop

    start

}

configtest()

{

    $NGINX_SBIN -c $NGINX_CONF -t

    return 0

}

case "$1" in

  start)

        start

        ;;

  stop)

        stop

        ;;

  reload)

        reload

        ;;

  restart)

        restart

        ;;

  configtest)

        configtest

        ;;

  *)

        echo $"Usage: $0 {start|stop|reload|restart|configtest}"

        RETVAL=1

esac

exit $RETVAL

2018-6-7_51cto_04

chmod 755 /etc/init.d/nginx

 chkconfig --add nginx 

 chkconfig nginx on


cd /usr/local/nginx/conf/ 

mv nginx.conf nginx.conf.bak //自带有一个nginx.conf  选择自己配置拷贝一下

 vim nginx.conf //写入如下内容

(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/nginx.conf)

 /usr/local/nginx/sbin/nginx -t

 /etc/init.d/nginx  start

 ps aux |grep nginx

2018-6-7_51cto_05

2018-6-7_51cto_06


测试

2018-6-7_nginx_07


测试php

 vi /usr/local/nginx/html/1.php //加入如下内容

 <?php

    echo "test php scripts.";

?>

 curl localhost/1.php





12.7 默认虚拟主机

 vim /usr/local/nginx/conf/nginx.conf //去掉sever增加 include vhost/*.conf

2018-6-7_51cto_08

 mkdir /usr/local/nginx/conf/vhost

 cd !$

 vim default.conf //创建一个conf,加入如下内容

server

{

    listen 80 default_server;  // 有这个标记的就是默认虚拟主机

    server_name aaa.com;

    index index.html index.htm index.php;

    root /data/wwwroot/default;

}

2018-6-7_51cto_09

 mkdir -p /data/wwwroot/default/

2018-6-7_nginx_10

 echo “This is a default site.”>/data/wwwroot/default/index.html

 /usr/local/nginx/sbin/nginx -t

2018-6-7_nginx_11

 /usr/local/nginx/sbin/nginx -s reload //重新加载

 curl localhost

 curl -x127.0.0.1:80 123.com


2018-6-7_51cto_12

默认虚拟主机,无论什么域名都会指向到这里来



12.8 Nginx用户认证

创建一个虚拟主机

vim /usr/local/nginx/conf/vhost/test.com.conf//写入如下内容

server

{

    listen 80;

    server_name test.com;

    index index.html index.htm index.php;

    root /data/wwwroot/test.com;

    

location  /

    {

        auth_basic              "Auth";  //用户名字

        auth_basic_user_file   /usr/local/nginx/conf/htpasswd;   //用户名密码文件

}

}


/usr/local/apache2.4/bin/htpasswd

 htpasswd -c /usr/local/nginx/conf/htpasswd wt

2018-6-7_51cto_13

如果继续创建第二个不需要加-c ,否则会覆盖原来的文件

 -t &&  -s reload //测试配置并重新加载

2018-6-7_51cto_14

如果有错误 reload 不会生效

测试 curl -x127.0.0.1:80 test.com

2018-6-7_nginx_15

需要指定用户curl  -wt:密码 -x127.0.0.1:80 test.com就正常了



12.9 Nginx域名重定向

更改上面的test.com.conf

2018-6-7_51cto_16


 server_name后面支持写多个域名,这里要和httpd的做一个对比

 permanent为永久重定向,状态码为301,如果写redirect则为302