• Nginx虚拟主机以及自动启动脚本详解


    想要部署Nginx虚拟主机,那么首先需要nginx的环境,那么我们一起来看一下吧
    systemctl stop firewalld
    iptables -F
    setenforce 0
    1)安装支持软件
    yum -y install pcre-devel zlib-devel openssl-devel
    2)创建运行用户,组
    useradd -M -s /sbin/nologin nginx
    3)编译安装nglinx
    tar xf nglix-1.14.2.tar.gz -C /usr/src
    4)配置编译
    cd /usr/src/nginx-1.14.2
    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module && make && make install
    为了使nginx服务器运行方便,可以为主程序nginx 创建链接文件,以便管理员直接执行nginx命令
    ln -s /usr/local/nginx/sbin/nginx /usr/local/bin
    ll /usr/local/bin/nginx
    5)nginx运行控制
    nginx -t 检测语法
    6)启动,停止nginx,如果服务器中已安装有httpd等其他web 服务软件,应关闭避免冲突
    netstat -anpt |grep :80
    nginx
    netstat -anpt |grep :80
    查看httpd:192.168.30.22窗口
    welocome to nginx!
                                   
    killall -s HUP nginx  重载配置
    killall -s QULT nginx     退出进程
    killall -9
    netstat -anpt |grep :80


    为了更好管理nginx进程写个脚本并使用chkconfig工具来进行管理
    vim /etc/init.d/nginx
    #!/bin/bash
    #chkconfig:2345 99 20

    PROG="/usr/local/nginx/sbin/nginx"
    PIDF="/usr/local/nginx/logs/nginx.pid"

    case "$1" in
    start)
            $PROG
    ;;
    stop)
            kill -s QUIT $(cat $PIDF)
    ;;
    restart)
            $0 stop
            $0 start
    ;;
    reload)
            kill -s HUP $(cat $PIDF)
    ;;
    *)
            echo "Usage:$0{start|stop|restart|reload}"
            exit 1
    esac
    exit 0


    netstat -anpt |grep :80     

    给上权限
    chmod +x /etc/init.d/nginx
    chkconfig --add nginx
    chkconfig nginx on
    chkconfig --list nginx
    然后测试脚本
    /etc/init.d/nginx stop
    netstat -anpt |grep :80
    /etc/init.d/nginx start
    netstat -anpt |grep :80

    我这里并做了一个小的配置,查看/status下可以看到用户的访问量
    在http{}配置的server{} 子配置文件内添加如下配置项
    vim /usr/local/nginx/conf/nginx.conf
        location /status {
            stub_status on;
            access_log off;
        }
    systemctl restart nginx
    浏览器访问http://192.168.30.22/status


    虚拟主机应用
    mkdir /usr/local/nginx/html/zc
    mkdir /usr/local/nginx/html/cloud
    echo "<h1>www.zc.com</h1>"> /usr/local/nginx/html/zc/index.html
    echo "<h1>www.cloud.com</h1>" > /usr/local/nginx/html/cloud/index.html
    vim /usr/local/nginx/conf/nginx.conf

    user  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 {
        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;


        keepalive_timeout  65;


        server {
            listen       80;
            server_name  www.zc.com;

            charset utf-8;

            access_log  logs/zc.access.log  main;

            location / {
                root   html/zc;
                index  index.html index.htm;
            }
    }

        server {
            listen       81;
            server_name  www.cloud.com;

            charset utf-8;

            access_log  logs/cloud.access.log  main;

            location / {
                root   html/cloud;
                index  index.html index.html;
            }
         }
    }

          
    systemctl restart nginx
    vim /etc/hosts
    192.168.30.24 www.zc.com
    192.168.30.24 www.cloud.com

    虚拟主机访问测试   elinks 命令需要yum -y install elinks安装
    elinks --dump http://www.zc.com
    elinks --dump http://www.cloud.com:81

    http://192.168.30.24
    http://192.168.30.24:81








     

  • 相关阅读:
    java语言中public、private、protected三个关键字的用法,重写和重载的区别。
    MVC模式中M,V,C每个代表意义,并简述在Struts中MVC的表现方式。
    abstract class和interface有什么区别?
    简单说明什么是递归?什么情况会使用?并使用java实现一个简单的递归程序。
    在项目中用过Spring的哪些方面?及用过哪些Ajax框架?
    简述基于Struts框架Web应用的工作流程
    List、Map、Set三个接口存储元素时各有什么特点?
    mybatis查询时间段sql语句
    Maven pom.xml中添加指定的中央仓库
    为什么需要RPC,而不是简单的HTTP接口
  • 原文地址:https://www.cnblogs.com/zc1741845455/p/10889133.html
Copyright © 2020-2023  润新知