Evgenii Legotckoi
Evgenii LegotckoiСәуір 23, 2019, 4:10 Т.Ж.

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

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

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


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

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

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

sudo easy_install пип
  1. virtualenv орнатыңыз және виртуалды орта жасаңыз
sudo pip3 virtualenv орнату
  1. Жоба үшін виртуалды ортаны орнатыңыз
virtualenv project_env --python=python3
  1. Жобаның виртуалды орта каталогына өзгертіңіз және репозиторийді клондаңыз.
cd project_env
git clone git@bitbucket.org:MyUser/project.git
  1. Егер жобаңыз git ішкі модулін пайдаланса, біз ішкі модульдерді де клондаймыз.
CD жобасы
git субмодулі init
git субмодульін жаңарту
  1. Мен талаптар.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 орнату және конфигурациялау

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

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

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

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз
OI
  • Ora Iro
  • Жел. 24, 2024, 6:38 Т.Ж.

C++ - Тест 001. Первая программа и типы данных

  • Нәтиже:40ұпай,
  • Бағалау ұпайлары-8
AD

C++ - Тест 004. Указатели, Массивы и Циклы

  • Нәтиже:50ұпай,
  • Бағалау ұпайлары-4
m
  • molni99
  • Қаз. 26, 2024, 1:37 Т.Ж.

C++ - Тест 004. Указатели, Массивы и Циклы

  • Нәтиже:80ұпай,
  • Бағалау ұпайлары4
Соңғы пікірлер
ИМ
Игорь МаксимовҚар. 22, 2024, 11:51 Т.Ж.
Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZEҚаз. 19, 2024, 8:19 Т.Ж.
Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas5Шілде 5, 2024, 11:02 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Енді форумда талқылаңыз
Evgenii Legotckoi
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey1Қар. 15, 2024, 6:04 Т.Ж.
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProjectМаусым 4, 2022, 3:49 Т.Ж.
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
9
9AnonimҚаз. 25, 2024, 9:10 Т.Ж.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

Бізді әлеуметтік желілерде бақылаңыз