收藏文章 楼主

nginx 添加多网站配置,正反向代理解析绑定域名

版块:自动化运维linux   类型:精华/置顶   作者:小绿叶技术博客   查看:2809   回复:5   获赞:5   时间:2021-01-05 10:25:22

#--- nginx 反向代理解析 -----#


server{

listen 80;

listen 443;


server_name www.kbash.cn;


location / {

     proxy_pass http://82.157.148.144;

     index index.php index.html;

  }

}



#------------------------------#

#!/bin/bash

# 此处是lnmp环境的配置教程,搭建 lnmp 请参考:Linux centos下编译安装Lnmp shell脚本 完整版

# nginx服务器部署多个网站,共用一个80端口。

#首先备份配置文件:

#-------------------------------  备份所有 .pid 的文件为 .pid.backup  --------------------------------#

pidback=(`find / -name "*.pid"`)             # 定义一个小括号数组变量pidback  为 反引号里面的命令执行结果

for i in ${pidback[*]}                     # for循环变量  i  是 数组变量里所有的元素,[*] 所有, [0] 第一个元素,默认从0 开始

do                                      # do 开始执行循环

if [ ! -e $i.backup ]                          # 判断参考:Shell if 条件判断文件或目录;字符串长度或为空,逻辑运算

then                                    # 判断成立的情况执行

echo "备份文件: $i 为: $i.backup"

cp $i $i.backup

else                                      # 其他情况执行

echo "已经存在备份文件: $i.backup"

fi                                     # 结束判断

done                                 # 结束循环

#------------------------------------  在配置文件里绑定域名和目录 ------------------------------------ #

nginxconf="/www/server/nginx/18" # nginx 所在目录

www="/www/wwwroot" # web 网站所在路径

echo "

如果您的nginx 安装目录 不是 /www/server/nginx/18    请修改变量nginxconf 的值

如果您的web目录 不是 /www/wwwroot    请修改变量 www 的值

"

read -p "请输入域名:" address

read -p "请输入网站路径:$www/" catalogue

echo $address $www/$catalogue


mkdir $nginxconf/vhost                 # 在nginx目录下 创建一个”vhost” 域名解析配置文件目录 

touch $nginxconf/vhost/$address.conf 

 # 创建反向解析配置文件,多个网站需要创建多个配置文件,然后用cat 写入

echo  $nginxconf/vhost/$address.conf 

echo "

server

{

listen 80;  #监听端口设为 80。

server_name $address #绑定多个域名  空格隔开。

index index.php index.htm index.html;  #指定默认文件。

root $www/$catalogue #指定网站根目录。

# location /a  其中 /a 是为了区分名字

        location /$catalogue {

            root  $www/$catalogue ;

            index  index.php index.html index.htm;

        }

  location ~ .php\$ {

                         root           $www/$catalogue

                         fastcgi_pass 127.0.0.1:9000;

                         fastcgi_index index.php;

                         fastcgi_param  SCRIPT_FILENAME  \$document_root\$fastcgi_script_name;

                         include        fastcgi_params;

                 }

" >  $nginxconf/vhost/$address.conf





mkdir $www/$catalogue                      # 创建站点根目录




echo "                                                         # 写入php测试文件aaaaaaaaaaaaaa

########  eisc.cn  小绿叶技术博客脚本开发商 【nginx 多网站域名绑定】,测试php功能  #########

## BUG 未添加反向解析的域名都默认绑定再第一个web 网站

<?php

phpinfo()

?>

########  eisc.cn  小绿叶技术博客脚本开发商 【nginx 多网站域名绑定】,测试php功能  #########

## BUG 未添加反向解析的域名都默认绑定再第一个web 网站

" > $www/$catalogue/eisc.cn.php

curl $address/eisc.cn.php

#------------------------------------  nginx 主配置文件  -------------------------------------------------

#cat /dev/null > $nginxconf/conf/nginx.conf 

                                                 # 前面已经备份了配置文件,清空nginx配置文件内容,重新写入

echo "

worker_processes  1;

pid    /usr/bin/nginx.pid;

#注意:nginx 的 pid 目录

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

        include $nginxconf/vhost/*.conf;

# 注意,inclde 引入 反向解析配置文件路径

#此处一般为localhost  不启默认路径网站

    server {

        listen       80;

        server_name  127.0.0.1;

        location / {

            root  $www;

#注意:web网站所在目录

            index  index.php index.html index.htm;

        }

  location ~ .php\$ {

                         root           $www;

#注意:php解析目录

                         fastcgi_pass 127.0.0.1:9000;

                         fastcgi_index index.php;

                         fastcgi_param  SCRIPT_FILENAME  \$document_root\$fastcgi_script_name;

                         include        fastcgi_params;

                 }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }   

}

" > $nginxconf/conf/nginx.conf 

nginx -s reload

echo "如果多个解析conf配置文件 绑定同一个网站,会提示 冲突,但是不影响正常使用"




# 执行脚本: wget eisc.cn/file/shell/nginx_www.sh ; sh nginx_www.sh

有些梦虽然遥不可及,但并不是不可能实现。 
回复列表
默认   热门   正序   倒序

回复:nginx 添加多网站配置,正反向代理解析绑定域名

Powered by ddoss.cn 12.0

©2015 - 2024 ddoss

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息