Running Multiple Domain Names on PHP Server

การใช้หลายโดเมนจะช่วยเพิ่มความสามารถในการใช้งาน ประสิทธิภาพและความสามารถในการปรับขนาดของ PHP แอปพลิเคชันอีกทั้งยังช่วยประหยัดค่าใช้จ่ายโดยไม่จำเป็นต้องตั้งค่าอินสแตนซ์แยกต่างหาก

ดังนั้นเรามาดูวิธีการรันหลายโดเมนบน PHP แอปพลิเคชันเซิร์ฟเวอร์เพื่อให้แอปพลิเคชันของคุณปรับขนาดได้และมีประสิทธิภาพมากขึ้น

1. เข้าสู่ระบบ Ruk-Com Cloud Dashboard

2. คลิกปุ่ม New Environment ด้านบนซ้ายของแดชบอร์ด

3. เมื่อหน้าต่างปรากฏให้เลือกที่แท็บ PHP เลือกแอปพลิเคชันเซิร์ฟเวอร์และระบุจำนวนทรัพยากรที่แอปพลิเคชันของคุณต้องการ หลังจากนั้นใส่ชื่อสำหรับการสร้าง environment และคลิกปุ่ม Create

เพียงไม่กี่นาที environment ของคุณจะปรากฎที่หน้าแดชบอร์ด

4. คุณต้องมีชื่อใน DNS เพื่อแก้ไขที่อยู่ IP ของคุณ ดังนั้นการซื้อชื่อโดเมนสำหรับ environment ของคุณสามารถทำได้สองวิธี: คือการเพิ่ม CNAME record หรือการตั้งค่า A Records คุณสามารถดูรายละเอียดเพิ่มเติมได้ที่นี่

5. หลังจากนั้นคลิกปุ่ม Settings ที่ environment ของคุณและทำการผูกโดเมน ตัวอย่างเช่น เราใช้ URL นี้: mydomain.com และ myseconddomain.com

6. ตอนนี้คุณสามารถอัปโหลดแพ็กเกจ zip โดยไปที่ Deployment Manager และ deploy environment ของคุณที่สร้างไว้ก่อนหน้านี้

7. เมื่อแอปพลิเคชันของคุณ deploy สำเร็จแล้วคุณต้องกำหนดค่า virtual host ของคุณ

  • สำหรับ Apache

คลิกปุ่ม Config ข้าง Apache เซิร์ฟเวอร์และเปิดไฟล์ httpd.conf (ในไดเร็กทอรี conf) เพื่อตั้งค่าพารามิเตอร์ VirtualHost สำหรับชื่อโดเมนสองชื่อแยกกันโดยระบุ path ไปยัง context ที่ปรับใช้และชื่อโดเมน:

Listen 80
<VirtualHost *:80>
    DocumentRoot /var/www/webroot/firstapp
    ServerName mydomain.com
    ...
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /var/www/webroot/secondapp
    ServerName myseconddomain.com
    ...
</VirtualHost>
  • สำหรับ NGINX

คลิกปุ่ม Config ข้าง NGINX server และเปิดไฟล์ nginx.conf ที่ conf ไดเร็กทอรี

ระบุการตั้งค่าของคุณในบล็อกเซิร์ฟเวอร์

server_name (โดเมนของคุณ)
ROOT (ข้อความที่คุณระบุขณะ deploy)

โปรดทราบว่าคุณต้องมีบล็อกเซิร์ฟเวอร์แยกต่างหาก ที่มีการตั้งค่าพร้อมสำหรับแต่ละโดเมนที่คุณผูก

    server {
        listen       80;
        server_name  localhost;

include /etc/nginx/aliases.conf;
        location / {
            root   /var/www/webroot/ROOT;
            index  index.html index.htm index.php;

            location ~ \.php$ {
                location ~ /\. { deny all; access_log off; log_not_found off; }
            include /etc/nginx/fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME /var/www/webroot/ROOT$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            fastcgi_param DOCUMENT_ROOT /var/www/webroot/ROOT;
            }

        }
        index  index.php index.html index.htm;

error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

location ~ /\. { deny all; access_log off; log_not_found off; }

location ~ \.php$ {
        location ~ /\. { deny all; access_log off; log_not_found off; }
            include /etc/nginx/fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME /var/www/webroot$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            fastcgi_param DOCUMENT_ROOT /var/www/webroot;
        }

    }

ในกรณีของเรา การตั้งค่าดังนี้:

        server {
        listen       80;
        server_name  mydomain.com;
        
    include /etc/nginx/aliases.conf;
        location / {
            root   /var/www/webroot/firstapp;
            index  index.html index.htm index.php;

            location ~ \.php$ {
                location ~ /\. { deny all; access_log off; log_not_found off; }
            include /etc/nginx/fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME /var/www/webroot/firstapp$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            fastcgi_param DOCUMENT_ROOT /var/www/webroot/firstapp;
            }

        }
        index  index.php index.html index.htm;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

            location ~ /\. { deny all; access_log off; log_not_found off; }
        
        location ~ \.php$ {
        location ~ /\. { deny all; access_log off; log_not_found off; }
            include /etc/nginx/fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME /var/www/webroot$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            fastcgi_param DOCUMENT_ROOT /var/www/webroot;
        }

    }


server {
        listen       80;
        server_name  myseconddomain.com;
        
            include /etc/nginx/aliases.conf;
        location / {
            root   /var/www/webroot/secondapp;
            index  index.html index.htm index.php;

            location ~ \.php$ {
                location ~ /\. { deny all; access_log off; log_not_found off; }
            include /etc/nginx/fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME /var/www/webroot/secondapp$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            fastcgi_param DOCUMENT_ROOT /var/www/webroot/secondapp;
            }

        }
        index  index.php index.html index.htm;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    location ~ /\. { deny all; access_log off; log_not_found off; }
    
    location ~ \.php$ {
        location ~ /\. { deny all; access_log off; log_not_found off; }
            include /etc/nginx/fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME /var/www/webroot$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            fastcgi_param DOCUMENT_ROOT /var/www/webroot;
        }

    }

8. อย่าลืมบันทึกการเปลี่ยนแปลงและรีสตาร์ทแอปพลิเคชันเซิร์ฟเวอร์เพื่อปรับใช้การตั้งค่าใหม่

9. ตอนนี้คุณสามารถตรวจสอบผลลัพธ์เพื่อให้แน่ใจว่าทุกอย่างทำงานได้อย่างถูกต้อง

หวังว่าคำแนะนำนี้จะเป็นประโยชน์สำหรับคุณ ชื่อโดเมนเป็นข้อมูลที่สำคัญสำหรับการระบุตัวตนออนไลน์ดังนั้นอย่าลืมปกป้องชื่อเหล่านี้ด้วย Ruk-Com Cloud โดยใช้เวลาเพียงไม่กี่นาที