{"id":23726113,"url":"https://github.com/ulugbek101/deploy-django-project-on-linux-server","last_synced_at":"2026-04-09T20:44:50.837Z","repository":{"id":238938573,"uuid":"798037659","full_name":"ulugbek101/deploy-django-project-on-linux-server","owner":"ulugbek101","description":"Qanday qilib Django loyihani Ubuntu serverga qo'yish va ishlatish","archived":false,"fork":false,"pushed_at":"2024-05-09T01:11:41.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-31T00:18:40.383Z","etag":null,"topics":["django","gunicorn","linux","nginx","python","ubuntu"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ulugbek101.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-09T01:06:00.000Z","updated_at":"2024-06-16T23:19:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"27c1ea99-2403-4717-8e48-8bf7fdde25f7","html_url":"https://github.com/ulugbek101/deploy-django-project-on-linux-server","commit_stats":null,"previous_names":["ulugbek101/django-loyihani-linux-serverga-qo-yish","ulugbek101/deploy-django-project-on-linux-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ulugbek101%2Fdeploy-django-project-on-linux-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ulugbek101%2Fdeploy-django-project-on-linux-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ulugbek101%2Fdeploy-django-project-on-linux-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ulugbek101%2Fdeploy-django-project-on-linux-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ulugbek101","download_url":"https://codeload.github.com/ulugbek101/deploy-django-project-on-linux-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239824981,"owners_count":19703194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","gunicorn","linux","nginx","python","ubuntu"],"created_at":"2024-12-31T00:18:39.566Z","updated_at":"2026-02-15T16:30:16.599Z","avatar_url":"https://github.com/ulugbek101.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Django loyihani linux serverga qo'yish\n\n---\n\n1. Linux serverda loyihani Github dan clone qilib olamiz\n\n```shell\ngit clone https://github.com/\n```\n\n---\n\n2. Virtual muhit yaratib olish\n\n```shell\npython -m venv venv\n```\n\n---\n\n3. virtual muhitni faollashtirish\n\n```shell\nvenv\\Scripts\\activate\n```\n\n---\n\n4. Kerakli kutubxonalarni **requirements.txt** faylidan o'qib, muhitga o'rnatish\n\n```shell\npip install -r requirements.txt \n```\n\n---\n\n5. Loyiha to'g'ri ishlashi uchun va admin panelga kirish imkoniyati bo'lishi uchun Django tomonidan tayyorlab qo'yilgan\n   migratsiyalarni yaratib olamiz\n\n```shell\npython manage.py makemigrations\npython manage.py migrate\n```\n\n---\n\n6. **superuser** yaratib olamiz (admin panelga kirish imkoniyati bo'lishi uchun)\n\n```shell\npython manage.py createsuperuser\n```\n\n---\n\n7. Django loyihani ishlatib ko'rish, agar quyidagicha rasm ko'rinsa, unda hammasi joyida bo'ladi\n\n```shell\npython manage.py runserver\n```\n\n---\n\n8. Serverni **CTRL + C** bilan to'xtatamiz\n\n---\n\n9. **root** yo'nalish bo'yicha o'tib olamiz\n\n```shell\ncd /root/\n```\n\n---\n\n10. **Nginx** web serverini o'rnatib olamiz\n\n```shell\nsudo apt update\nsudo apt install python3-venv\nsudo apt install nginx -y\n```\n\n---\n\n11. Virtual muhitni o'chirib olamiz\n\n```shell\ndeactivate\n```\n\n---\n\n12. **8000** portga ruxsat beramiz (linux server loyihamizni **8000** chi portda ishlatish imkoniga ega bo'lishi uchun)\n\n```shell\nsudo ufw allow 8000\n```\n\n---\n\n13. **gunicorn** faylni yaratamiz (Django loyihani *run* qilib beradigan asosiy fayl)\n\n```shell\nsudo nano /etc/systemd/system/gunicorn.socket\n```\n\n---\n\n14. **gunicorn** fayli ichiga quiydagilarni yozamiz\n\n```text\n[Unit]\nDescription=gunicorn socket\n\n[Socket]\nListenStream=/run/gunicorn.sock\n\n[Install]\nWantedBy=sockets.target\n```\n\n---\n\n15. Yuqorida yaratgan **gunicorn** faylini ishga tushiradigan *service* fayl yaratib olamiz\n\n```shell\nsudo nano /etc/systemd/system/gunicorn.service\n```\n\n---\n\n16. *service* fayl ichiga quyidagilarni yozamiz\n\n```text\n[Unit]\nDescription=gunicorn daemon\nRequires=gunicorn.socket\nAfter=network.target\n\n[Service]\nUser=\u003cUSERNAME\u003e\nGroup=www-data\nWorkingDirectory=/\u003cUSERNAME\u003e/\u003cPROJECT_FOLDER\u003e\nExecStart=/\u003cUSERNAME\u003e/\u003cPROJECT_FOLDER_NAME\u003e/venv/bin/gunicorn \\\n          --access-logfile - \\\n          --workers 3 \\\n          --bind unix:/run/gunicorn.sock \\\n          \u003cPROJECT_ROOT_FOLDER\u003e.wsgi:application\n\n[Install]\nWantedBy=multi-user.target\n```\n\n---\n\n17. **gunicorn** faylini ishlatish uchun buyruq beramiz (bu bizga Django loyihamizni avtomatik ishlatib (*run*) qilib\n    beradi)\n\n```shell\nsudo systemctl start gunicorn.socket\n```\n\n---\n\n18. Linux server har sfar o'chib yonganida yuqoridagi komanda avtomatik ishga tushishi uchun quyidagi komandani teramiz\n\n```shell\nsudo systemctl enable gunicorn.socket\n```\n\n---\n\n19. Kiritilgan o'zgarishlar ishga tushishi uchun quyidagi komandani teramiz\n\n```shell\nsudo systemctl daemon-reload\n```\n\n---\n\n20. **gunicorn** faylini ham bir marta *restart* qilib yuboramiz\n\n```shell\nsudo systemctl restart gunicorn\n```\n\n---\n\n21. Linux serverga kelgan so'rovlar avtomatik Django loyihaga yuborilishi uchun bu uchun **Nginx** fayl yozamiz va qaysi\n    manzillardan so'rov kelsa loyihani ishlatib berish kerakligi aytamiz\n\n```shell\nsudo nano /etc/nginx/sites-available/PROJECT_FOLDER\n```\n\n---\n\n22. Yuqorida yaratib olgan faylimizi ichini quyidagilar bilan to'ldiramiz\n\n```text\nserver {\n    listen 80;\n    server_name \u003cSERVER_IP_ADDRESS\u003e;\n\n    location = /favicon.ico { access_log off; log_not_found off; }\n    location /static/ {\n\n        \u003cUSERNAME\u003e /\u003cPROJECT_FOLDER\u003e/static;\n    }\n\n    location / {\n        include proxy_params;\n        proxy_pass http://unix:/run/gunicorn.sock;\n    }\n}\n```\n\n---\n\n23. Hozirgi yozgan o'zgarishlarimiz ishga tushishi uchun **nginx** fayliga *restart* berib yuboramiz\n\n```shell\nsudo systemctl restart nginx\n```\n\n---\n\n24. **Nginx** uchun barcha ruxsatlarni beramiz\n\n```shell\nsudo ufw allow 'Nginx Full'\n```\n\n---\n\n25. **gunicorn** faylini yana bir marta *restart* qilib yuboramiz\n\n```shell\nsudo systemctl restart gunicorn\n```\n\n---\n\n## Agar loyihaning har qanday fayliga biron kichik o'zgartirish kiritilsa ham, home.html, views.py, urls.py, ... Har safar quyidagi buruqni ishlatib yuborish kerak. Ya'ni 25-qadamdagi buyruqni ☝️\n\n```shell\nsudo systemctl restart gunicorn\n```\n\n___\n\n# Endi esa linux server ip manzili brauzerda tergan holda ishlab turgan Django loyihamizni natijasini\n*online* ko'rishimiz mumkin. E'tiboringiz uchun raxmat 🙂\n\n![Django server activa state](https://media.licdn.com/dms/image/C4E12AQG1c3mW8YQREw/article-cover_image-shrink_720_1280/0/1594470540725?e=2147483647\u0026v=beta\u0026t=rPaCWRuOJvqiAepsl-2YfibiGYWhV70So8Dg7e_UOjk)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fulugbek101%2Fdeploy-django-project-on-linux-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fulugbek101%2Fdeploy-django-project-on-linux-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fulugbek101%2Fdeploy-django-project-on-linux-server/lists"}