​ 昨天晚上打算早点睡觉的,可万万没想到,有人告诉我我的电脑还没有关,我很纳闷的起来看了下,明明已经关闭了,后来再次躺下的时候才想起来是楼上的一台老旧的电脑(安装Centos系统),那是我用来做测试的,后来测试完了就忘记关闭了。于是脑子就东西吧,没事就喜欢瞎想,家里一台Centos跑一个测试服务也太浪费资源了吧,能不能配一个多站点呢?这样一来我就可以挂在更多的web服务,于是去网上一搜,虽然没有找到满意的教程,但是一个关键词让我产生新的想法,那就是【反向代理】,话不多说,我们操练起来。

前期准备:

  • 一台linux系统,连接网线,知道 IP 地址
  • 有一个nginx基础,对反向代理有一个概念
  • 有一点docker基础,我全程是用 laradock操作的,但是配置和lnmp差不多吧【非必要的】

# 安装Laradock

github:https://github.com/orangbus/tool

# 配置nginx反向代理

  • 修改host :sudo vim /etc/hosts

    127.0.0.1 localhost  //对应 default.conf文件
    127.0.0.1 dev.laravel.com  //对应 laravel.conf文件
    ....
    
  • 配置 nginx config文件

    我们为每个站点单独配置一份 xx.conf 文件,然后找到默认的nginx配置文件,比如我的是 default.conf 这个是默认站点的配置文件

    【default.conf】默认配置文件

    server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;
        
        # For https
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server ipv6only=on;
        # ssl_certificate /etc/nginx/ssl/default.crt;
        # ssl_certificate_key /etc/nginx/ssl/default.key;
    
        server_name localhost;
        root /var/www/default/;
        index index.php index.html index.htm;
    
        location / {
             try_files $uri $uri/ /index.php$is_args$args;
        }
    
        location ~ \.php$ {
            try_files $uri /index.php =404;
            fastcgi_pass php-upstream;
            fastcgi_index index.php;
            fastcgi_buffers 16 16k;
            fastcgi_buffer_size 32k;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            #fixes timeouts
            fastcgi_read_timeout 600;
            include fastcgi_params;
        }
    
        location ~ /\.ht {
            deny all;
        }
    
        location /.well-known/acme-challenge/ {
            root /var/www/letsencrypt/;
            log_not_found off;
        }
    }
    

    【laravel.conf】配置文件