Khi xây dựng các ứng dụng web bằng Django, việc triển khai chúng lên môi trường hosting là một bước quan trọng để đưa sản phẩm đến với người dùng.
Nếu bạn đang sử dụng cPanel – một trong những công cụ quản trị hosting phổ biến nhất hiện nay – thì việc cài đặt Django sẽ trở nên dễ dàng và thuận tiện hơn bao giờ hết.
Trong bài viết này, hãy cùng Z.com tìm hiểu từng bước để cài đặt Django lên hosting sử dụng cPanel, giúp bạn nhanh chóng đưa ứng dụng Django của mình lên mạng một cách hiệu quả.
Django là gì?
Django là một framework web cao cấp được viết bằng Python, nổi tiếng với khả năng giúp lập trình viên phát triển các ứng dụng web một cách nhanh chóng và an toàn.
Django tuân thủ nguyên tắc "Don't Repeat Yourself" (DRY), tức là giảm thiểu việc lặp lại mã, và cung cấp một kiến trúc mạnh mẽ, linh hoạt để xây dựng các ứng dụng từ quy mô nhỏ đến lớn.
Một số đặc điểm nổi bật của Django bao gồm hệ thống ORM (Object-Relational Mapping) mạnh mẽ, hỗ trợ bảo mật mặc định với tính năng như bảo vệ CSRF, XSS, và SQL Injection, cùng với khả năng quản lý dự án dễ dàng thông qua các công cụ như admin site được tự động tạo ra.
Django cũng được đánh giá cao nhờ vào cộng đồng phát triển mạnh mẽ và tài liệu phong phú, giúp lập trình viên dễ dàng học tập và triển khai các dự án của mình.
Tại sao nên cài đặt Django
Cài đặt Django là một lựa chọn tuyệt vời cho bất kỳ ai muốn phát triển các ứng dụng web mạnh mẽ và an toàn một cách nhanh chóng.
Django không chỉ đơn thuần là một framework dễ học và dễ sử dụng, mà nó còn cung cấp nhiều tính năng tiên tiến giúp tiết kiệm thời gian và công sức cho lập trình viên.
Việc tích hợp sẵn các công cụ bảo mật, hệ thống quản lý cơ sở dữ liệu ORM, cùng với giao diện quản trị tự động là những lý do quan trọng khiến Django trở thành một trong những lựa chọn hàng đầu cho các dự án web.
Hơn nữa, với cộng đồng người dùng lớn và tài liệu phong phú, Django cung cấp một môi trường phát triển mạnh mẽ và liên tục được cải thiện, đảm bảo rằng các ứng dụng của bạn sẽ luôn được hỗ trợ và nâng cấp theo thời gian.
Hướng dẫn cài đặt Django lên hosting sử dụng cPanel
Bởi Django là một framework viết bằng Python, nên muốn cài đặt Django, trước tiên bạn cần tạo một ứng dụng Python trong cPanel.
Tạo ứng dụng Python trong cPanel
- Đăng nhập vào tài khoản cPanel của bạn
- Tìm menu "Python application setup" và bấm vào đó
- Trong trang hiện ra, bấm "Create Application"
- Chọn "Python version" là "3.8.1" (hoặc cao hơn)
- Đặt tên cho thư mục ứng dụng (Application root/home/cpanel_username), ví dụ: myapp
- Trong phần Application URL, chọn tên miền và để trống phần còn lại
- Bạn cũng nên để trống các phần "Application launch file" và "Application entry point"
- Trong trường sau "Passenger log file", bạn có thể nhập tên tập tin log để hỗ trợ việc sửa lỗi sau này.
- Sau đó bấm nút "Create" ở góc trên bên phải. cPanel sẽ tạo ứng dụng Python và thiết lập các biến môi trường.
- Copy câu lệnh sau "Enter to the virtual environment. To enter to virtual environment, run the command:" ở trên cùng của trang, bởi bạn sẽ cần câu lệnh này để cấu hình ứng dụng.
Cài đặt Django
Sau khi tạo ứng dụng Python, bạn cần sử dụng "Terminal" trong cPanel để tiếp tục cài đặt Django.
Trước tiên, kích hoạt môi trường ảo bằng cách dán và chạy cầu lệnh vừa được copy ở trên. Ví dụ:
source /home/cpanel_username/virtualenv/application/3.8/bin/activate && cd /home/cpanel_username/application
Để cài đặt Django, tiếp tục chạy các câu lệnh sau:
cd ~
pip install django==2.1.8
Tạo dự án Django:
django-admin startproject application ~/application
Tạo các thư mục dự án:
mkdir -p ~/application/templates/static_pages
mkdir ~/application/static_files
mkdir ~/application/static_media
Sử dụng một trình soạn thảo, mở tập tin ~/application/application/settings.py và thực hiện các thay đổi dưới đây:
- Tìm dòng "ALLOWED_HOSTS" và thêm vào như sau, nhớ thay vi-du.com bằng tên miền của bạn: ALLOWED_HOSTS = ['vi-du.com']
- Tìm khối "TEMPLATES" và chỉnh sửa lại:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
- Tìm dòng "STATIC_URL" và thêm các dòng:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static_files')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "static_media")
- Dùng một trình soạn thảo, mở tập tin ~/application/application/urls.py và xóa toàn bộ nội dung của nó, sau đó dán nội dung sau:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from django.conf.urls import url
from django.views.generic.base import TemplateView
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^$', TemplateView.as_view(template_name='static_pages/index.html'), name='home'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
- Dùng một trình soạn thảo, mở tập tin ~/application/passenger_wsgi.py, sau đó xóa toàn bộ nội dung của nó và dán nội dung sau:
import os
import sys
import django.core.handlers.wsgi
from django.core.wsgi import get_wsgi_application
# Set up paths and environment variables
sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = 'alkalmazas.settings'
# Set script name for the PATH_INFO fix below
SCRIPT_NAME = os.getcwd()
class PassengerPathInfoFix(object):
"""
Sets PATH_INFO from REQUEST_URI because Passenger doesn't provide it.
"""
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
from urllib.parse import unquote
environ['SCRIPT_NAME'] = SCRIPT_NAME
request_uri = unquote(environ['REQUEST_URI'])
script_name = unquote(environ.get('SCRIPT_NAME', ''))
offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) or 0
environ['PATH_INFO'] = request_uri[offset:].split('?', 1)[0]
return self.app(environ, start_response)
# Set the application
application = get_wsgi_application()
application = PassengerPathInfoFix(application)
- Sau đó tạo tập tin index.html trong thư mục ~/application/templates/static_pages.
- Chạy câu lệnh: python ~/application/manage.py migrate
- Tạo người dùng quản trị bằng câu lệnh: python ~/application/manage.py createsuperuser
- Bạn có thể compile nội dung tĩnh bằng câu lệnh: python ~/application/manage.py collectstatic
- Khởi động lại Python trong cPanel bằng cách tìm "Python Setup" trong cPanel, vào tab "Web Applications", tìm ứng dụng và bấm "Restart Application" trong cột "Actions"
Chúc mừng bạn đã cài đặt xong Django trong cPanel!
Bài liên quan
- Hosting free là gì? Các tiêu chí quan trọng khi chọn Hosting free
- Khi nào nên đổi hosting? Hướng dẫn đổi hosting từ A-Z
- Tại sao cần thuê hosting? Giá thuê hosting 1 năm bao nhiêu là vừa?
- Từ A-Z về WordPress hosting và cách lựa chọn WordPress hosting tốt nhất
- Hướng dẫn lựa chọn dịch vụ hosting phù hợp cho trang web của bạn
- Hosting là gì? Nên mua hosting việt nam hay hosting nước ngoài
- Cloud Hosting Linux là gì? Từ A-Z về dịch vụ Cloud Hosting Linux mới nhất
- Đánh giá chi tiết Ưu/Nhược điểm của Hosting GoDaddy
- Loạt ưu điểm vượt trội của Google Cloud Hosting có thể bạn chưa biết
- Hướng dẫn trỏ tên miền về Ladipage, trỏ tên miền về Hosting
- So sánh Shared Hosting và VPS Hosting: Loại nào cần cho bạn?
- Phân biệt Domain và Hosting theo tiêu chí và cách hoạt động