Sejam, bem vindos ao segundo post do blog, tendo em vista que já temos um Nginx configurado que foi mostrado no primeiro post , iremos preparar o virtualenv para um projeto Django.
confira o post anterior para que seja dada acontinuação (apenas instalação do Nginx)
Configurando NGINX, PHP-FPM e Mysql no Fedora
Vamos aos passos:
Iniciando a sessão como root
sudo su
instalação do virtual env (isolamento de ambientes para evitar conflitos de versões de bibliotecas e dependências )
dnf install python-virtualenv
por comodade iremos trabalhar no nivel /var/www o diretorio python e virtual_envs
entao iremos criar
cd /var/www; mkdir python; chmod 755 pyhton ; cd python; mkdir virtual_envs; chmod 755 virtual_env; cd virtual_env;
iremos usar a versão 1.9 do django atraves do seguinte comando
parametros de configuração
–system-site-packages = usa pacotes globais (instalados no SO)
–no-site-packages = nao usa pacotes globais
virtualenv - -system-site-packages projeto_teste_um_django-1.9
que trara o seguinte resultado
New python executable in projeto_teste_um_django-1.9/bin/python2 Also creating executable in projeto_teste_um_django-1.9/bin/python
consultando criação
cd projeto_teste_um_django-1.9; ls
exibira os seguintes diretorios
bin include lib lib64
checando dependencias
pip freeze > dependencias.txt;
sera retornado algo parecido com isso
<span style="line-height: 1.5;">backports.ssl-match-hostname==3.4.0.2 Beaker==1.5.4 blivet==1.0.10 cffi==0.8.6 characteristic==14.3.0 chardet==2.2.1 coverage==4.0.3 cryptography==0.9 decorator==3.4.0 deluge==1.3.12 di==0.3 Django==1.9 dnf-langpacks==0.15.1 ecdsa==0.11 enum34==1.0.4 GeoIP-Python==1.2.8 Glances==2.3 idna==2.0 iniparse==0.4 initial-setup==0.3.31 ipaddress==1.0.7 IPy==0.81 kitchen==1.2.1 langtable==0.0.34 liveusb-creator==3.14.2 Magic-file-extensions==0.2 Mako==1.0.1 MarkupSafe==0.23 mechanize==0.2.5 nose==1.3.7 ntplib==0.3.2 numpy==1.9.2 paramiko==1.15.2 Paste==1.7.5.1 pbr==1.8.1 pexpect==3.1 Pillow==2.8.2 ply==3.4 policycoreutils-default-encoding==0.1 psutil==2.1.3 pwquality==1.2.4 pyasn1==0.1.7 pyasn1-modules==0.0.5 pycparser==2.10 pycrypto==2.6.1 pycryptopp==0.6.0.1206569328141510525648634803928199668821045408958 pycurl==7.19.5.1 pygame===1.9.1release pygobject==3.16.2 pygpgme==0.3 PyIscsi==1.0 pykickstart==1.99.66 pyliblzma==0.5.3 pyOpenSSL==0.15.1 pyparsing==2.0.3 pyparted==3.10.7 pyserial==2.7 python-augeas==0.5.0 python-dmidecode==3.10.13 python-libtorrent==1.0.6 python-meh==0.40 pytz===2012d pyudev==0.16.1 pyxattr==0.5.3 pyxdg==0.25 rencode==1.0.3 requests==2.7.0 rpm-python==4.12.0.1 scdate==1.10.9 selenium==2.47.1 selenium-requests==1.2.7 seobject==0.1 sepolicy==1.1 service-identity==14.0.0 setproctitle==1.1.9 setroubleshoot==1.1 six==1.9.0 slip==0.6.4 slip.dbus==0.6.4 SSSDConfig==1.13.2 stevedore==1.10.0 Tempita==0.5.1 Terminator==0.98 tld==0.7.3 Twisted==15.1.0 urlgrabber==3.10.1 urllib3==1.10.4 vboxapi==1.0 virtualenv==12.0.7 virtualenv-clone==0.2.6 virtualenvwrapper==4.7.1 wxPython==3.0.2.0 wxPython-common==3.0.2.0 yum-metadata-parser==1.1.4 zope.event==4.0.3 zope.interface==4.1.1
ativando servico
source projeto_teste_um_django-1.9/bin/activate
instalando django caso queira uma versão expecifica
pip install django==1.9
como ja esta atualizado em meu caso me foi retornada a mensagem abaixo
Requirement already satisfied (use --upgrade to upgrade): django==1.9 in /usr/lib/python2.7/site-package
iniciando projeto
django-admin.py
exibindo o resultado
Available subcommands: [django] check compilemessages createcachetable dbshell diffsettings dumpdata flush inspectdb loaddata makemessages makemigrations migrate runserver sendtestemail shell showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp startproject test testserver
criando diretorio de projetos
cd /var/www/python; mkdir projetos; chmod 755 projetos; cd projetos;
e execute
django-admin.py startproject teste_projeto;
verifique o projeto trara
ls projeto; manage.py teste_projeto
subindo a aplicação
cd teste_projeto; python manage.py syncdb ; python manage.py migrate python manage.py runserver
que retornara
System check identified no issues (0 silenced). December 14, 2015 - 01:54:32 Django version 1.9, using settings 'teste_projeto.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Not Found: / [14/Dec/2015 01:54:46] "GET / HTTP/1.1" 200 1767 Not Found: /favicon.ico [14/Dec/2015 01:54:46] "GET /favicon.ico HTTP/1.1" 404 1943
visivel como exemplo
http://localhost:8000
no próximo post iremos subir este projeto no Nginx com o apoio do gunicorn e supervisor até a próxima