cd /usr/ports/www/py-django
make install clean
[X] POSTGRESQL PostgreSQL support
[X] MYSQL MySQL support
[X] FASTCGI FastCGI support
cd /home/hostalot/data/django
ln -s /usr/local/lib/python2.6/site-packages/django django
python
>>> import django
>>> exit()
python django/bin/django-admin.py startproject hostalot_ru
mkdir /home/hostalot/data/django/hostalot_ru/media
#!/usr/local/bin/bash
exec -a hostalot_ru /usr/local/bin/python $1 $2 $3 $4 $5 $6 $7
#!/usr/local/bin/bash
# Replace these three settings.
. /etc/rc.subr
name=hostalot_ru # your project name
rcvar=`set_rcvar`
load_rc_config $name
PROJDIR="/home/hostalot/data/django/$name"
PIDFILE="$PROJDIR/$name.pid"
HOST="127.0.0.1" # local
PORT="9010" # may be any foreach 9010-9900
METHOD="threaded" # may be "pre fork"
command=/usr/local/bin/$name
command_args=" $PROJDIR/manage.py runfcgi method=$METHOD host=$HOST port=$PORT pidfile=$PIDFILE"
run_rc_command "$1"
chmod 555 /usr/local/bin/hostalot_ru
chmod 555 /usr/local/etc/rc.d/hostalot_ru
hostalot_ru_enable="YES"
cd /home/hostalot/data/django/hostalot_ru
python ./manage.py syncdb
/usr/local/etc/rc.d/hostalot_ru restart
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_ruTHOD $request_ruthod;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_SOFTWARE "nginx";
fastcgi_param GATEWAY_INTERFACE "CGI/1.1";
server {
listen 193.106.172.16:80;
server_name hostalot.ru;
set $proot "/home/hostalot/data/django/hostalot_ru/media";
location / {
fastcgi_pass 127.0.0.1:9010;
include django_fastcgi;
client_max_body_size 120m;
access_log main;
error_log main;
root $proot;
}
location ~* ^/.+\.(htm|swf|flv|xml|ico|jpg|jpeg|js|css|png|gif|mpg|avi|mp3|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|txt|tar|mid|midi|wav|rtf|mpeg)$ {
root $proot;
limit_rate 2000K;
access_log off;
}
}
/usr/local/etc/rc.d/nginx restart
Source: https://habr.com/ru/post/134208/
All Articles