Evgenii Legotckoi
Сәуір 23, 2019, 2:10 Т.Қ.

Django - Оқулық 044. Mac OS жүйесінде Django орнату және конфигурациялау

Мен бар жоба негізінде Mac OS X жүйесінде Django жобасын орнату және конфигурациялау процесін қарастыруды ұсынамын.

Кейбір қадамдар [Ubuntu үшін Django орнату мақаласында] орындалғандарға ұқсас болады (https://evileg.com/en/post/3/).


Виртуалды ортаны орнату

  1. Python 3 орнатыңыз
  1. brew орнату python3

2.Барлық пипті орнату

  1. sudo easy_install пип
  1. virtualenv орнатыңыз және виртуалды орта жасаңыз
  1. sudo pip3 virtualenv орнату
  1. Жоба үшін виртуалды ортаны орнатыңыз
  1. virtualenv project_env --python=python3
  1. Жобаның виртуалды орта каталогына өзгертіңіз және репозиторийді клондаңыз.
  1. cd project_env
  2. git clone git@bitbucket.org:MyUser/project.git
  1. Егер жобаңыз git ішкі модулін пайдаланса, біз ішкі модульдерді де клондаймыз.
  1. CD жобасы
  2. git субмодулі init
  3. git субмодульін жаңарту
  1. Мен талаптар.txt файлын пайдаланасыз деп үміттенемін, себебі жобада барлық қажетті бумаларды орнату уақыты келді.
  1. pip install -r талаптар.txt

Python бағдарламасының қажетті нұсқасын орнатыңыз

Егер сізге python бағдарламасының белгілі бір нұсқасы қажет болса, мысалы, өндірістік сервер репозиторийлеріңізде соңғы нұсқасы болмаса, Mac OS X жүйесін қажетті нұсқамен жұмыс істеу үшін арнайы конфигурациялау қажет.

  1. brew install pyenv
  2. echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
  3. source ~/.bash_profile
  4. brew install zlib
  5. pyenv install 3.6.7

Егер сіз python орната алмасаңыз және келесі қате орын алса

  1. BUILD FAILED (OS X 10.14.4 using python-build 20180424)
  2.  
  3. Inspect or clean up the working tree at /var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274
  4. Results logged to /var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274.log
  5.  
  6. Last 10 log lines:
  7. File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__main__.py", line 5, in <module>
  8. sys.exit(ensurepip._main())
  9. File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__init__.py", line 204, in _main
  10. default_pip=args.default_pip,
  11. File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__init__.py", line 117, in _bootstrap
  12. return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  13. File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__init__.py", line 27, in _run_pip
  14. import pip._internal
  15. zipimport.ZipImportError: can't decompress data; zlib not available
  16. make: *** [install] Error 1

содан кейін келесі мазмұны бар .zshrc файлын жасаңыз

  1. # For compilers to find zlib you may need to set:
  2. export LDFLAGS="${LDFLAGS} -L/usr/local/opt/zlib/lib"
  3. export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/zlib/include"
  4.  
  5. # For pkg-config to find zlib you may need to set:
  6. export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/zlib/lib/pkgconfig"

Содан кейін қалған қадамдарды орындаңыз.

  1. source .zshrc
  2. pyenv install 3.6.7

Қолжетімді python нұсқаларын тексеріңіз

  1. pyenv versions

Қажетті python нұсқасын орнатыңыз

  1. pyenv local 3.6.7
  2. pyenv global 3.6.7

Mac OS X жүйесінде қазір қолданылып жатқан Python нұсқасын тексеріңіз.

  1. python --version

Осыдан кейін virtualenv орнатқан болсаңыз, 4-қадамнан бастап виртуалды орта параметрлерінен барлық қадамдарды қайталау қажет болады. Немесе осы қадамдардың барлығын толығымен қайталаңыз.

PostgreSQL орнату және конфигурациялау

  1. Postgres бағдарламасының алдыңғы нұсқасын жою
  1. brew uninstall --force postgresql
  1. Барлық Postgres файлдарын жойыңыз
  1. rm -rf /usr/local/var/postgres
  1. Homebrew көмегімен Postgres орнату
  1. brew install postgres
  1. Homebrew көмегімен PostGIS орнату
  1. brew install postgis
  1. PostgreSQL серверін іске қосыңыз. Бұл пәрменді сайт жасаған сайын іске қосу қажет болуы мүмкін.
  1. pg_ctl -D /usr/local/var/postgres басталады
  1. Жоба деректер қорын құру. Осы қадамдардың көпшілігі операциялық жүйемен жұмыс істейтін машинада Django орнату туралы ең бірінші мақалада қарастырылды.
  1. psql postgres
  2. ДЕРЕКТЕР ҚОРЫН ЖАСАУ менің жобам;
  3. ПАЙДАЛАНУШЫ myprojectuser &#39;құпиясөз&#39; ҚҰПИЯ СӨЗІМЕН ЖАСАУ;
  4. РОЛДЫ ӨЗГЕРТУ myprojectuser client_encoding &#39;utf8&#39; ОРНАТУ;
  5. myprojectuser РӨЛІН ӨЗГЕРТУ default_transaction_isolation ОРНАТУ &quot;орындалды&quot;;
  6. РӨЛДІ ӨЗГЕРТУ myprojectuser уақыт белдеуін «UTC» ОРНАТУ;
  7. myprojectuser үшін myproject ДЕРЕКТЕР БАЗАСЫНДА БАРЛЫҚ АРТЫҚШЫЛЫҚТАРДЫ БЕРУ;
  8. \q

Nginx орнатыңыз және конфигурациялаңыз.

Мен Nginx-ті статикалық мазмұнды тарату үшін пайдаланамын, сондықтан біз Nginx-ті әзірлеуші машинаға орнатамыз.

  1. brew install nginx
  2. sudo brew services start nginx

Nginx конфигурациялануда

Осы кезде Nginx серверін орнату керек. Неліктен nginx.conf файлын өңдеу керек, сонымен қатар сервер каталогында сервер параметрлері файлын жасау керек.

  1. nano /usr/local/etc/nginx/nginx.conf

Файлдың мазмұнын жойып, келесі ақпаратты қосыңыз.

  1. worker_processes 1;
  2.  
  3. events {
  4. worker_connections 1024;
  5. }
  6.  
  7.  
  8. http {
  9. include mime.types;
  10. default_type application/octet-stream;
  11.  
  12. sendfile on;
  13. keepalive_timeout 65;
  14. include servers/*;
  15. }

Содан кейін менің жобам файлын жасаңыз

  1. touch /usr/local/etc/nginx/servers/myproject

Және осыған ұқсас мазмұнды қосыңыз.

  1. server {
  2. listen 80;
  3. server_name 111.222.333.44; # здесь прописать или IP-адрес или доменное имя сервера
  4.  
  5. location /static/ {
  6. root /Users/<user>/myprojectenv/myproject/myproject/;
  7. expires 30d;
  8. }
  9.  
  10. location /media/ {
  11. root /Users/<user>/myprojectenv/myproject/myproject/;
  12. expires 30d;
  13. }
  14.  
  15. location / {
  16. proxy_pass http://127.0.0.1:8000;
  17. proxy_set_header Host $server_name;
  18. proxy_set_header X-Real-IP $remote_addr;
  19. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  20. }
  21. }
  22.  

Содан кейін Nginx серверін қайта іске қосыңыз

  1. sudo brew services restart nginx

Қорытынды

Содан кейін дерекқорды тасымалдауды, collectstatic арқылы статикалық файлдарды жинауды және жобаңызға қажет басқа процедураларды ұмытпаңыз.

Django үшін Timeweb VDS-server ұсынамын.

Осы тақырып бойынша ұсынылатын мақалалар

Мақала бойынша сұралады0сұрақтар(лар)

1

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз