动态 版块 发帖 消息 我的
小绿叶技术博客
小绿叶技术博客
小绿叶技术Lv154   
nginx 添加多网站配置,正反向代理解析绑定域名     

#--- 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

 5  已被阅读了2299次  楼主 2021-01-05 10:25:22
回复列表
admin
6F
小绿叶技术Lv154   
#------------------ ssl 证书案例 ---------------#

server

 {

   listen       443;# https 监听的是 443端口

   server_name  192.168.1.112 www.zhangbiao.com;

 

   keepalive_timeout 100;

 

   ssl on;

   ssl_session_cache   shared:SSL:10m;

   ssl_session_timeout 10m;

 

   ssl_certificate /etc/nginx/ssl_key/jesonc.crt; # 证书路径

   ssl_certificate_key /etc/nginx/ssl_key/jesonc.key; # 请求认证 key 的路径

 

   index index.html index.htm;

   location / {

       root  /opt/app/code; # web目录

   }

}

 0   2021-01-28 15:33:50  回复
admin
5F
小绿叶技术Lv154   
Linux centos下编译安装lnmp shell脚本 完整版 :http://eisc.cn/index.php?c=read&id=428&cache=refresh&rnd=2709#replylist
 0   2021-01-11 10:50:42  回复
admin
4F
小绿叶技术Lv154   

############################################################

研发中脚本 

############################################################

#!/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 网站所在路径


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

<?php

phpinfo()

?>

" > $www/$catalogue/index.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


 0   2021-01-08 16:53:33  回复
admin
3F
小绿叶技术Lv154   

#!/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                                 # 结束循环

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

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

touch /www/server/nginx/18/vhost/a.conf 

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

 cat > /www/server/nginx/18/vhost/a.conf << "EOF"

server

{

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

server_name a.hc1.ssh.gs;  #绑定您的域名。

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

root /www/wwwroot/a;  #指定网站根目录。

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

        location /a {

            root  /www/wwwroot/a;

            index  index.php index.html index.htm;

        }

  location ~ .php$ {

                         root           /www/wwwroot/a;

                         fastcgi_pass 127.0.0.1:9000;

                         fastcgi_index index.php;

                         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

                         include        fastcgi_params;

                 }

}

EOF

mkdir /www/wwwroot/a                       # 创建站点根目录

echo "                                                         # 写入php测试文件aaaaaaaaaaaaaa

<?php

phpinfo()

?>

" > /www/wwwroot/a/index.php

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

cat /dev/null /www/server/nginx/18/conf/nginx.conf 

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

cat > /www/server/nginx/18/conf/nginx.conf << "EOF"

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 /www/server/nginx/18/vhost/*.conf;

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

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

    server {

        listen       80;

        server_name  hc1.ssh.gs;

        location / {

            root  /www/wwwroot;

#注意:web网站所在目录

            index  index.php index.html index.htm;

        }

  location ~ .php$ {

                         root           /www/wwwroot;

#注意: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;

        }

    }   

}

EOF

nginx -s reload


 0   2021-01-08 14:18:55  回复

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

guest
登录之后更精彩~
Powered by HadSky 7.12.10
© 2015-2024 PuYueTian
您的IP:34.236.191.0,2024-05-30 08:24:59,Processed in 0.02483 second(s).
Powered by HadSky
小绿叶技术博客