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

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: nginx.conf 配置文件修改多网站配置信息
#!/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配置文件 绑定同一个网站,会提示 冲突,但是不影响正常使用"
目录
相关文章
|
3天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
15天前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
nginx配置反向代理404问题
|
10天前
|
应用服务中间件 网络安全 PHP
八个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
Nginx 是一个高效的 HTTP 服务器和反向代理,擅长处理静态资源、负载均衡和网关代理等任务。其配置主要通过 `nginx.conf` 文件完成,但复杂设置可能导致错误。本文介绍了几个开源的 Nginx 可视化配置系统,如 Nginx UI、VeryNginx、OpenPanel、Ajenti、Schenkd nginx-ui、EasyEngine、CapRover 和 NGINX Agent,帮助简化和安全地管理 Nginx 实例。
|
20天前
|
缓存 负载均衡 应用服务中间件
Nginx配置
【10月更文挑战第22天】在实际配置 Nginx 时,需要根据具体的需求和环境进行调整和优化。同时,还需要注意配置文件的语法正确性和安全性。
35 7
|
20天前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
75 1
|
3天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
14 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
66 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
52 0
|
1月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
59 0
|
1月前
|
安全 Java 程序员
Collection-Stack&Queue源码解析
Collection-Stack&Queue源码解析
80 0

推荐镜像

更多