Flexus X ile Tek Adımda Web Sitenizi Oluşturun

Bu yazımda Huawei Cloud'un sunmuş olduğu avantajlı Flexus Serisi Makinalar ile tek adımda nasıl bir websitesi kurabiliriz sorusunu yanıtlayacağım. Bu örnekte Flexus X serisini tercih etmemin sebebi kolaylıkla makinamın Cpu ve Ram miktarını ihtiyacıma göre kendim belirleyebilirim.

Detaylı video anlatımı için Linkedin üzerinden ulaşabilirsiniz.

Bu örnekte kullandığım servis ve teknolojiler;

  • Flexus X (minimum 3 vCPU , 3 GB RAM)
  • Ubuntu Server Image (Paylaşılan user-data ubuntu OS için geçerlidir.)
  • Docker Container
  • User Data (Provisioning)

Flexus X Sunucu

Huawei Cloud Console ekranına giriş yapalım. Ardından Huawei Cloud Flexus servisini seçelim. Açılan ekranda Buy FlexusX'e tıklayalım.

Pay per-use (kullandıkça öde) yapıda ilerliyorum ve Ubuntu için minimum gereksinimli bir cpu ram miktarı belirliyorum. Image olarakta Ubuntu seçiyorum. (User Data Scripti Debian Tabanlı işletim sistemler içindir farklı OS kullanıyorsanız değişiklik yapmanız gerekmektedir.)

Network kısmına geçtiğimizde Http ve Https portlarını herkese açıyorum (80,443 - 0.0.0.0/0). Bu sayede oluşan websitesine dışardan erişebileceğiz.

Son olarakta User Data'nın çalışması için Login mode kısmını Key Pair (.pem) veya Set Password Later seçmemiz gerekmektedir. Biz şifremizi daha sonra belirleyeceğimizden Set Password Later seçeneği üzerinden ilerliyorum.

Advanced Option kısmından User Data kısmını ise aşağıda paylaşmış olduğum kodu kullanıyorum. Yaklaşık 1 Dakika içinde size tanımlanan EIP(Public IP)" üzerinden websiteniz kurulacaktır. Dilerseniz bir Domain (Alan adı) satın alarak bu makinanın ip sini yönlendirebilirsiniz.

Sevgi ve saygılarımla,

User Data

(Dikkat: Lütfen "WORDPRESS_DB_USER", "WORDPRESS_DB_PASSWORD", "MYSQL_USER" ve "MYSQL_PASSWORD" gibi alanları kendi güvenli kullanıcı adı ve şifrenizle değiştirin.)

#!/bin/bash

apt-get update -y
apt-get install ca-certificates curl wget -y
install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
   tee /etc/apt/sources.list.d/docker.list > /dev/null

apt-get update -y

apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

systemctl start docker
systemctl enable docker


mkdir -p /home/ubuntu/wordpress
cd /home/ubuntu/wordpress

cat > /home/ubuntu/wordpress/docker-compose.yml <<EOL
version: '3.8'

services:
  wordpress:
    image: wordpress:latest
    container_name: wordpress
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: mysql:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: user
      WORDPRESS_DB_PASSWORD: password
    volumes:
      - wordpress_data:/var/www/html
    networks:
      - wordpress_net
    depends_on:
      - mysql

  mysql:
    image: mysql:5.7
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: wordpress
      MYSQL_USER: user
      MYSQL_PASSWORD: password
    volumes:
      - mysql_data:/var/lib/mysql
    networks:
      - wordpress_net

volumes:
  wordpress_data:
  mysql_data:

networks:
  wordpress_net:
    driver: bridge
EOL

docker compose -f /home/ubuntu/wordpress/docker-compose.yml up -d

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir