Mô hình:
– user – project cũ: thanhtri
– user – project mới: h2cloud
– Khách hàng H2Cloud: Sẽ sử dụng 2 dải 192.168.2.0 thuộc VLAN 207 và dải 192.168.3.0 thuộc VLAN 210
Chú thích:
# thực thi trong /root
$ thực thi trong môi trường của user
> thực thi trong DB
B1: SSH vào server deploy để triển khai project
B2: Chuẩn bị môi trường
– Kiểm tra version python, phải từ 3.10 trở lên
– Kiểm tra đã cài đặt Maria DB chưa
B3: Tạo user cho project mới
adduser <tên user viết thường>
# adduser h2cloud
B4: Tạo user mới trong DB
# mysql -u root -p -e
> grant all privileges on h2cloud.* to ‘h2cloud’@’localhost’ identified by ‘H2Cloud@@1234!@#$’;
> flush privileges;
> exit()
B5: Tạo env cho project của user vừa tạo (user h2cloud):
# su – h2cloud
$ python3.10 -m venv env
$ echo “source env/bin/activate” >> /home/h2cloud/.bash_profile
B6: Cài đặt các gói package cho project
Nếu trong server đã có project đã deploy thì copy requirements.txt từ project cũ -> project mới
# su – thanhtri
$ pip freeze > requirements.txt
$ logout
# cp /home/thanhtri/requirements.txt /home/h2cloud/
# chown h2cloud. /home/h2cloud/requirements.txt
# usermod -a -G h2cloud nginx
# su – h2cloud
$ pip install -r requirements.txt
B7: Tạo project mới
# django-admin startproject h2cloud
# cd /home/h2cloud/h2cloud
# django-admin startapp h2cloud
# su – h2cloud
$ /home/h2cloud/h2cloud/manage.py createsuperuser (tiếp tục tạo superuser với tên là h2cloud)
B8: Cấu hình gunicorn cho project mới
#cat <<EOF>>/etc/systemd/system/h2cloud.service
[Unit]
Description=H2Cloud Gunicorn Daemon
After=network.target
[Service]
User=h2cloud
Group=nginx
WorkingDirectory=/home/h2cloud/h2cloud
ExecStart=/home/h2cloud/env/bin/gunicorn –workers 2 –bind unix:/home/h2cloud/h2cloud/h2cloud.sock –access-logfile/var/log/gunicorn/h2cloud-access.log –error-logfile /var/log/gunicorn/h2cloud-error.log –log-level critical –limit-request-line 0 h2cloud.wsgi:application –timeout 300
[Install]
WantedBy=multi-user.target
EOF
B9: Tạo file log cho gunicorn project mới
# cd /var/log/gunicorn/
# touch h2cloud-access.log h2cloud-error.log
# chown h2cloud.nginx h2cloud-*
B10: Truy cập vào server DNS Cloudzone để khai báo tên miền cho project mới h2cloud.cloudzone.vn
B11: Tạo một project django h2cloud trên Pycharm ở máy local
B12: Dùng WinSCP kết nối đến server deploy ở B1 để tải code từ project cũ là project thanhtri -> project h2cloud ở máy local
B13: Sau đã tải code được xuống project django h2cloud ở local, tiếp theo thay đổi các cấu hình và tên từ project thanhtri -> project h2cloud
B14: Sau khi đã sửa xong, trên Pycharm dùng Deployment để upload code lên Server Deploy
Root Path: /home/h2cloud/h2cloud
B15: Chạy Project h2cloud
# su – h2cloud
$ manage.py makemigrations
$ manage.py migrate
# systemctl daemon-reload
# systemctl start h2cloud
# systemctl status h2cloud
—> Sau khi start xong truy cập web /admin xem được chưa
B16: Tạo file task và beat để chạy các tasks,services ở mode background
# cd /etc/supervisord.d/
# cp thanhtri-tasks.conf h2cloud-tasks.conf
# cp thanhtri-beat.conf h2cloud-beat.conf
# vi h2cloud-tasks.conf
# :%s/thanhtri/h2cloud/g (Lệnh này dùng để dùng sed thay đổi giá trị thanhtri -> h2cloud)
# :x!
# vi h2cloud-beat.conf
# :%s/thanhtri/h2cloud/g
# :x!
# systemctl restart supervisord
# supervisorctl status
# crontab -e
# 25 4 * * * systemctl restart h2cloud (Thêm crontab cho project mới)
B17: Ở máy local mở Navicat và truy cập vào DB
Tạo một DB h2cloud và copy các data ở DB thanhtri -> DB h2cloud
B18: Ở trong tables portal_templates thay đổi các giá trị Name, UUID theo UUID của vCenter H2Cloud
B19: Thay đổi giá trị trong tables vps_subnet
Như trong VD này h2cloud sử dụng 2 subnet 192.168.2.0 và 192.168.3.0 -> kiểm tra VLAN ID trong Subnet Tạo ở Dashboard
B20: add vlan của 2 subnet mới vào Switch chung
– Kiểm tra trong Switch đã có Vlan thuộc dải 192.168.2.0 và 192.168.3.0 hay chưa, bằng lệnh sau:
sh vlan brief | include 207
sh vlan brief | include 210
– Add 2 VLAN vào cả 3 port-channel
conf t
int po1-3
switchport trunk allowed vlan add 207,210
sh port-channel sum # để kiểm tra lại
copy running-config startup-config # Lưu code vào startup config
Leave A Comment?