Мен бар жоба негізінде Mac OS X жүйесінде Django жобасын орнату және конфигурациялау процесін қарастыруды ұсынамын.
Кейбір қадамдар [Ubuntu үшін Django орнату мақаласында] орындалғандарға ұқсас болады (https://evileg.com/en/post/3/).
Виртуалды ортаны орнату
- Python 3 орнатыңыз
- brew орнату python3
2.Барлық пипті орнату
- sudo easy_install пип
- virtualenv орнатыңыз және виртуалды орта жасаңыз
- sudo pip3 virtualenv орнату
- Жоба үшін виртуалды ортаны орнатыңыз
- virtualenv project_env --python=python3
- Жобаның виртуалды орта каталогына өзгертіңіз және репозиторийді клондаңыз.
- cd project_env
- git clone git@bitbucket.org:MyUser/project.git
- Егер жобаңыз git ішкі модулін пайдаланса, біз ішкі модульдерді де клондаймыз.
- CD жобасы
- git субмодулі init
- git субмодульін жаңарту
- Мен талаптар.txt файлын пайдаланасыз деп үміттенемін, себебі жобада барлық қажетті бумаларды орнату уақыты келді.
- pip install -r талаптар.txt
Python бағдарламасының қажетті нұсқасын орнатыңыз
Егер сізге python бағдарламасының белгілі бір нұсқасы қажет болса, мысалы, өндірістік сервер репозиторийлеріңізде соңғы нұсқасы болмаса, Mac OS X жүйесін қажетті нұсқамен жұмыс істеу үшін арнайы конфигурациялау қажет.
- brew install pyenv
- echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
- source ~/.bash_profile
- brew install zlib
- pyenv install 3.6.7
Егер сіз python орната алмасаңыз және келесі қате орын алса
- BUILD FAILED (OS X 10.14.4 using python-build 20180424)
- Inspect or clean up the working tree at /var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274
- Results logged to /var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274.log
- Last 10 log lines:
- File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__main__.py", line 5, in <module>
- sys.exit(ensurepip._main())
- File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__init__.py", line 204, in _main
- default_pip=args.default_pip,
- File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__init__.py", line 117, in _bootstrap
- return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
- 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
- import pip._internal
- zipimport.ZipImportError: can't decompress data; zlib not available
- make: *** [install] Error 1
содан кейін келесі мазмұны бар .zshrc файлын жасаңыз
- # For compilers to find zlib you may need to set:
- export LDFLAGS="${LDFLAGS} -L/usr/local/opt/zlib/lib"
- export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/zlib/include"
- # For pkg-config to find zlib you may need to set:
- export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/zlib/lib/pkgconfig"
Содан кейін қалған қадамдарды орындаңыз.
- source .zshrc
- pyenv install 3.6.7
Қолжетімді python нұсқаларын тексеріңіз
- pyenv versions
Қажетті python нұсқасын орнатыңыз
- pyenv local 3.6.7
- pyenv global 3.6.7
Mac OS X жүйесінде қазір қолданылып жатқан Python нұсқасын тексеріңіз.
- python --version
Осыдан кейін virtualenv орнатқан болсаңыз, 4-қадамнан бастап виртуалды орта параметрлерінен барлық қадамдарды қайталау қажет болады. Немесе осы қадамдардың барлығын толығымен қайталаңыз.
PostgreSQL орнату және конфигурациялау
- Postgres бағдарламасының алдыңғы нұсқасын жою
- brew uninstall --force postgresql
- Барлық Postgres файлдарын жойыңыз
- rm -rf /usr/local/var/postgres
- Homebrew көмегімен Postgres орнату
- brew install postgres
- Homebrew көмегімен PostGIS орнату
- brew install postgis
- PostgreSQL серверін іске қосыңыз. Бұл пәрменді сайт жасаған сайын іске қосу қажет болуы мүмкін.
- pg_ctl -D /usr/local/var/postgres басталады
- Жоба деректер қорын құру. Осы қадамдардың көпшілігі операциялық жүйемен жұмыс істейтін машинада Django орнату туралы ең бірінші мақалада қарастырылды.
- psql postgres
- ДЕРЕКТЕР ҚОРЫН ЖАСАУ менің жобам;
- ПАЙДАЛАНУШЫ myprojectuser 'құпиясөз' ҚҰПИЯ СӨЗІМЕН ЖАСАУ;
- РОЛДЫ ӨЗГЕРТУ myprojectuser client_encoding 'utf8' ОРНАТУ;
- myprojectuser РӨЛІН ӨЗГЕРТУ default_transaction_isolation ОРНАТУ "орындалды";
- РӨЛДІ ӨЗГЕРТУ myprojectuser уақыт белдеуін «UTC» ОРНАТУ;
- myprojectuser үшін myproject ДЕРЕКТЕР БАЗАСЫНДА БАРЛЫҚ АРТЫҚШЫЛЫҚТАРДЫ БЕРУ;
- \q
Nginx орнатыңыз және конфигурациялаңыз.
Мен Nginx-ті статикалық мазмұнды тарату үшін пайдаланамын, сондықтан біз Nginx-ті әзірлеуші машинаға орнатамыз.
- brew install nginx
- sudo brew services start nginx
Nginx конфигурациялануда
Осы кезде Nginx серверін орнату керек. Неліктен nginx.conf файлын өңдеу керек, сонымен қатар сервер каталогында сервер параметрлері файлын жасау керек.
- nano /usr/local/etc/nginx/nginx.conf
Файлдың мазмұнын жойып, келесі ақпаратты қосыңыз.
- worker_processes 1;
- events {
- worker_connections 1024;
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
- include servers/*;
- }
Содан кейін менің жобам файлын жасаңыз
- touch /usr/local/etc/nginx/servers/myproject
Және осыған ұқсас мазмұнды қосыңыз.
- server {
- listen 80;
- server_name 111.222.333.44; # здесь прописать или IP-адрес или доменное имя сервера
- location /static/ {
- root /Users/<user>/myprojectenv/myproject/myproject/;
- expires 30d;
- }
- location /media/ {
- root /Users/<user>/myprojectenv/myproject/myproject/;
- expires 30d;
- }
- location / {
- proxy_pass http://127.0.0.1:8000;
- proxy_set_header Host $server_name;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
- }
Содан кейін Nginx серверін қайта іске қосыңыз
- sudo brew services restart nginx
Қорытынды
Содан кейін дерекқорды тасымалдауды, collectstatic арқылы статикалық файлдарды жинауды және жобаңызға қажет басқа процедураларды ұмытпаңыз.
Django үшін Timeweb VDS-server ұсынамын.