Saya baru-baru ini menggunakan aplikasi django saya sendiri untuk pengeluaran. Tapak web ini dipanggil videiro.com dan dibangunkan dalam django + HTML/CSS/JS + Tailwind.
Persediaan
Saya menggunakan pelayan debian 12 yang akan mendedahkan aplikasi saya melalui terowong cloudflare. Semua fail statik disampaikan melalui nginx dan projek Django sedang dijalankan oleh gunicorn.
Dalam panduan ini saya akan menunjukkan kepada anda cara saya menyediakannya.
Menyediakan projek Django
Perkara pertama yang anda perlu lakukan ialah membuka tetapan.py dan menukar yang berikut
Debug = False ALLOWED_HOSTS = ['yourdomain.tld'] CSRF_COOKIE_SECURE = True CSRF_TRUSTED_ORIGINS = [ 'yourdomain.tld', ]
Anda juga harus menukar SECRET_KEY kepada rentetan rawak yang panjang, yang anda tidak boleh berkongsi dengan sesiapa pun.
Selepas itu buat fail baharu bernama .gitignore dan tampal yang berikut:
db.sqlite3 *.pyc
Ini akan memastikan bahawa pangkalan data tidak dimuat naik ke pelayan kami dan tiada fail pyc sama ada.
Kini anda boleh memuat naik projek anda ke repositori github baharu (atau repositori gitea). Jika anda tidak mahu semua orang mempunyai akses kepada kod sumber anda, pastikan anda menetapkan repositori sebagai peribadi.
Jika anda ingin memastikan bahawa kod sumber anda kekal peribadi, saya syorkan anda menyediakan contoh gitea yang dihoskan sendiri, baca contoh gitea yang dihoskan sendiri - yang dihoskan sendiri, alternatif github ringan, untuk mengetahui cara melakukannya.
git init git branch -M main git add . git commit -m "initial commit" git remote add origin https://... git push -u origin main
Sekarang anda telah kami lakukan bahawa anda harus log masuk ke pelayan anda
Persediaan pelayan
Sebelum mengkonfigurasi apa-apa, pastikan anda tidak membenarkan sebarang log masuk ssh dengan kata laluan. Ikuti Securing ssh dengan pengesahan Berasaskan Kunci untuk melindungi pelayan anda daripada jenis serangan tersebut.
Log masuk ke pelayan anda
ssh user@server.ip
Pastikan pakej anda mengikut data
sudo apt update && sudo apt upgrade
Sekarang pasang python, pip, git dan nginx
sudo apt install python3 python3-pip git nginx
Sekarang klon projek anda ke dalam direktori rumah anda.
git clone https://... cd my-project
Setelah anda memasang yang berikut:
pip install django django-crispy-forms whitenoise
Sekarang cuba jalankan projek:
python3 manage.py runserver
jika anda mendapat ralat bahawa pakej tiada, pasang dan jalankan semula.
Mengkonfigurasi gunicorn
Sekarang kami akan menyediakan gunicorn
Mula-mula pasangnya
pip install gunicorn
Sekarang buat fail baharu yang dipanggil gunicorn.service dengan editor teks kegemaran anda:
sudo vim /etc/systemd/system/gunicorn.service
Dan tampal yang berikut:
[Unit] Description=gunicorn daemon After=network.target [Service] User=YOURUSER Group=www-data WorkingDirectory=/home/YOURUSER/PROJECT ExecStart=/path/to/gunicorn --access-logfile - --workers 3 --bind 127.0.0.1:8000 PROJECTNAME.wsgi:application [Install] WantedBy=multi-user.target
Tukar YOURUSER kepada pengguna anda.
Untuk mencari laluan ke larian gunicorn:
which gunicorn
Dan nama projek anda ialah nama folder di dalam projek anda yang mengandungi fail settings.py.
Sekarang jalankan arahan berikut untuk memulakan dan mendayakan gunicorn (mulakan semasa but)
sudo systemctl daemon-reload sudo systemctl start gunicorn.service sudo systemctl enable gunicorn.service
Sekarang jika anda menuju ke 127.0.0.1:8000 anda sepatutnya melihat projek anda berjalan.
Tetapi belum selesai lagi
Menyediakan nginx
Kini kami perlu menyampaikan kandungan statik kami melalui nginx.
Mula-mula buat fail konfigurasi nginx fail baharu dengan editor teks kegemaran anda:
sudo vim /etc/nginx/sites-available/PROJECT
Tukar PROJEK kepada apa sahaja yang anda mahu
Sekarang tampal kandungan berikut:
server { listen 80; server_name YOURDOMAIN; location /static/ { alias /var/www/staticfiles/; } location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Hanya tukar YOURDOMAIN kepada domain tempat ini akan dihoskan.
Buat pautan simbolik untuk mendayakan tapak web anda:
sudo ln -s /etc/nginx/sites-available/PROJECT /etc/nginx/sites-enabled/
Mulakan dan dayakan nginx:
sudo systemctl start nginx sudo systemctl enable nginx
Sediakan fail statik
Perkara pertama yang anda perlu lakukan ialah cd ke dalam projek (django) anda
cd project
Sekarang jalankan arahan berikut:
python3 manage.py collectstatic
Ini akan mencipta folder baharu yang dipanggil staticfiles
Sekarang untuk menyediakan fail statik kami mempunyai dua pilihan:
- Tukar pengguna dalam /etc/nginx/nginx.conf kepada pengguna anda (kurang selamat)
- Salin fail statik ke /var/www/ (lebih selamat)
Saya akan melakukan pilihan ke-2:
Mula-mula buat fail baharu yang dipanggil staticfiles dalam /var/www
sudo mkdir -p /var/www/staticfiles
Sekarang salin semua fail statik daripada projek anda di sana:
sudo cp staticfiles/* /var/www/staticfiles
Sekarang cd ke /var/www
cd /var/www
Tukar pemilikan semua fail
sudo chown www-data:www-data staticfiles sudo chown www-data:www-data staticfiles/*
Mulakan semula perkhidmatan nginx:
sudo systemctl restart nginx
Sekarang jika anda menuju ke:
127.0.0.1
Anda sepatutnya melihat tapak web anda berjalan dengan semua fail statik disediakan!
Mendedahkan melalui terowong cloudflare
Sekarang untuk menjadikan tapak web anda boleh diakses secara terbuka.
Untuk melakukan ini, anda memerlukan akaun cloudflare dan domain yang ditunjukkan kepada cloudflare.
Pertama pergi ke Papan Pemuka Zero Trust
Di bawah Rangkaian klik pada Terowong dan kemudian Buat terowong
Setelah dibuat, anda perlu Pasang dan jalankan penyambung, ikut arahan pada halaman untuk persediaan khusus anda.
Selepas penyambung berjalan, anda harus mengklik pada tab Nama Hos Awam dan Tambah nama hos awam.
Sekarang anda sepatutnya melihat sesuatu seperti ini:
私が持っている情報を入力してください。サービス タイプは HTTP、URL は 127.0.0.1:80 または localhost:80
である必要があります。指定したドメインに移動すると、アプリが起動して実行されていることが確認できます。
おめでとうございます!
この投稿を気に入っていただき、私の (ほとんど無給の) 仕事をサポートしたい場合は、ここから寄付していただけます。
無料のニュースレターに参加してください!
ここから参加してください
Atas ialah kandungan terperinci Sebarkan django ke pengeluaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Memuatkan Fail Pickle di Python 3.6 Kesalahan Laporan Alam Sekitar: ModulenotFoundError: Nomodulenamed ...

Bagaimana untuk menyelesaikan masalah segmentasi kata Jieba dalam analisis komen tempat yang indah? Semasa kami mengadakan komen dan analisis tempat yang indah, kami sering menggunakan alat segmentasi perkataan jieba untuk memproses teks ...


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa