-
آموزش : Apache + Django نحوه نصب جانگو در آپاچی
با سلام به دوستان عزیز
بعنوان اولین مقاله تو بخش پایتون می خوام نحوه ی نصب دی جانگو در آپاچی رو بهش بپردازم :
(سعی می کنم به ساده ترین روش توضیح بدم )
نیازمندی ها :
1- Python 2.7
2- Xampp
3- سیستم عامل ویندوز ، هر ورژنی
پیش فرض ها :
اینگونه در نظر میگیریم که دو برنامه ی بالا نصب شده و کار میکنند
1- ابتدا Django را از نصب میکنیم
2- سعی کنید همیشه به پیشنهاد خود دیجانگو مبنی بر استفاده از آخرین ورژن رسمی استفاده کنید ، ( همکنون 1.6.5 )
3- از آدرس روبر دانلود رو شروع می کنیم : https://pypi.python.org/pypi/Django/1.6.5 ...
4- بعد از دانلود پکیج رو از حالت فشرده خارج و نصب رو شروع کنید
cmd.exe
cd Django-1.6.5
python setup.py install
1-4- بعد از نصب به آدرس زیر مراجعه میکنیم و دیگر نیازی به پوشه دانلود شده نداریم و می توانیم آنرا حذف کنیم
1-5- توجه داشته باشید با cmd وارد پوشه ی مدیریت پکیج های پایتون رفته و اقدام به ایجاد یک سایت نماییم ، به شرح زیر
cmd.exe
cd C:\Python27\Lib\site-packages\django\bin
python django-admin.py startproject mysite
همکنون صاحب یک سایت شدید و نوبت به ساخت یک اپلیکیشن میره
cd mysite
python manage.py startapp MyApp1
5- همکنون دیجانگو نصب شد و یک سایت نیز آماده شد
6- می رویم سراغ آپاچی
7- در ابتدای کار باید کتابخانه mod_wsgi.so را در آپاچی نصب کنیم - برای اینکار میبایست به این آدرس مراجعه نمایید
8- اگر آپاچی 32بیتی دارید پیشنهاد میکنم پکیج mod_wsgi‑3.5.ap24.win32‑py2.7.zip را استفاده نمایید ولی در صورتی که در مراحل بعدی دچار عدم استارت آپاچی شدید می تونید سایر بیست پیکیج ارائه شده در سایت رو امتحان کنید و ببینید کدومش با آپاچی اجرا میشه
9- بعد از دانلود و unzip فایل mod_wsgi-3.5.ap22.win-amd64-py2.7.so را به mod_wsgi.so تغییر نام دهید
10- وارد پوشه xampp شوید و سپس وارد پوشه apache و سپس وارد پوشه modules و فایل اغییرنام یافته را در آنجا کپی نمایید
11- حالا یه back بزنید و وارد پوشه conf شوید
12- و سپس فایل httpd.conf رو باز کرده و متن های زیر را وارد نمایید
LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonHome C:/Python27/
WSGIPythonPath C:/Python27/python.exe
WSGIScriptAlias / "C:/xampp/htdocs/mysite/mod.wsgi"
Alias /ms "C:/xampp/htdocs/mysite"
13- در بالا ما به آپاچی می فهمانیم که ماژول دانلود شده را لود کرده و سپس پوشه پایتون و همچنین فایل اجرایی پایتون را در مخش داشته باشد و سپس اسکریپت اصلی سایتی که با دیجانگو ساختیم رو بهش معرفی نموده و سپس یک Alias که کار رو راحتتر میکنه بهش معرفی میکنیم
14- حالا از قسمت مدیریت پکیج های پایتون و همونجایی که سایتمون ساخته شده بود پوشه رو کات می کنیم تو داکیومنت های آپاجی یعنی
cut C:\Python27\Lib\site-packages\django\bin\mysite
paste C:\xampp\htdocs
15- در مسیر که پیست کردیم وارد شده و یک فایل به نام mod.wsgi می سازمیم یعنی :
D:\xampp\htdocs\mysite\mod.wsgi
16- فایل مورد نظر را باز کرده و محتوای زیر را وارد نماییم :
import os, sys
path = 'D:/xampp/htdocs/mysite'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
17- سپس سرویس آپاجی رو یک بار ریست میکنیم
18- معمولا به ندرت پیش میاد همه چی خوب کار کنه و سرویس با خوبی لود بشه :اشتباه: ولی اگه مشکلی بود حتما بگید پیگیری می کنیم باهم
19- بعد از شروع سرویس وارد browser شده و بنویسید :
localhost/ms
20- و سپس سایتتون با دیجانگو به راحتی بالا میاد
مشکلی بود اعلام بفرمایید
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام
دست درد نکنه خیلی آلی بود :تشویق:
ولی مشکل من اینکه با ران شدن سرور php و htdocs رو از دست دادم و به htdocs اجازه دسترسی نمیده فایها م اجرا نمیشه نمیدونم مشکل از کجاس از تنظیمات الیاس باغیر فعال کردن تنظیمات این ماژول همه چی درست میشه راستی کنارش میشه بقیه زبونها رو داشته باشم یا هم رو از کار میندازه من از apache2.4.9 که خودم تنظیمش کردم استفاده میکنم نه از پکیج xammp و امثال هم:افسرده:
در ضمن قسمت
python manage.py MyApp1 جواب نداد برای ایجاد myapp1 توضیح واضح تری بدین این قسمت رو:متفکر:
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام دوست عزیز و ممنونم
تو مقاله ی بالا فقط نحوه راه اندازی آپاچی با Django رو نوشته بودم و صحبت شما هم کاملا درسته
برای راه اندازی یه سایت جدید با دی جانگو و پشتیبای از بقیه زبون ها می تونی از یه Virtual Host با یک پورت متفرقه استفاده کنی و برای صدا زدن اسکریپت مورد نظر از Alias سایتت استفاده کنی تا همیشه فراخونی نشه :
NameVirtualHost *:YOUR_PORT
# Virtual Hosts
<VirtualHost *:YOUR_PORT>
ServerName ServerName
ServerAlias YOUR_DOMAIN.com
KeepAlive Off
# The first "YOUR_DOMAIN.com" is just a process group. The name is arbitrary.
# The "display-name" shows up when running "ps -u YOUR_USERNAME -o pid,rss,command" to list processes. Otherwise you can't tell which process belongs to which django app.
WSGIDaemonProcess YOUR_DOMAIN.com processes=1 threads=20 inactivity-timeout=60 display-name=[wsgi-YOUR_APP_NAME]httpd
WSGIProcessGroup YOUR_DOMAIN.com
WSGIScriptAlias / /home/YOUR_USERNAME/webapps/django/wsgi/YOUR_APP_NAME.wsgi
</VirtualHost>
اینطوری هیچ لطمه ای به بقیه ی زبون ها نمی خوره
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
نقل قول:
python manage.py MyApp1 جواب نداد برای ایجاد myapp1 توضیح واضح تری بدین این قسمت رو
وقتی این دستور جواب نده جنبه های مختلفی داره
اول اینکه شاید پایتون تو مسیرهای سیستم عامل نیست
دوم شاید ورود نکرده باشید به پوشه ی ساخته شده توسط در جانگو که فایل manage.py دورن اون هست
سوم شاید بطور کلی دی جانگو خوب نصب نشده باشه
لطفا پیام خطای مورد نظر را ذکر بفرمایید
موفق باشید
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام
و ممنون از جواب تون عزیز:تشویق: من کارم گیم نت:لبخند: اول وقت که خلوت یه نگاهی کردم به تنظیمات وضعیت بهتر شد این تنظیمات من هستش
من تو لاین 3 مشکل دارم الان چون تا فعالش میکنم دسترسی به php از دست میره وerror 500 میده
قبلان با تنظیم اعلام محل مفسر توی فایل اسکریپت perl درستش کرده بودم
راستی من فایل mod.wsgi رو mod.wsgi.py گذاشتم درست هست چون فایل پایتون هستش
WSGIPythonHome C:/Python27/
WSGIPythonPath C:/Python27/python.exe
WSGIScriptAlias / "M:/Server/server-web/www/gnsina/mod.wsgi.py"
Alias /ms "M:/Server/server-web/www/gnsina"
<Directory M:/Server/server-web/www/gnsina>
<Files mod.wsgi.py>
Require all granted
</Files>
</Directory>
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام
در مورد python manage.py MyApp1 من پایتونرو بامسیر دهی اجرا میکنم path/python/
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
البته خیلی نیازی نیست حتما پسوند پایتونی داشته باشه حالا همین که راه افتاد خوبه
شما این خطت عوض کن
WSGIScriptAlias / "M:/Server/server-web/www/gnsina/mod.wsgi.py"
به
WSGIScriptAlias /ms "M:/Server/server-web/www/gnsina/mod.wsgi.py"
ایشالله درست میشه
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام
در موردpython manage.py MyApp1 خطای 'unknown command 'myapp1
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام
دلیل نشناختن دستور python manage.py MyApp1 با توجه به هلپ manage.py برای ساختن app باید از دستور python manage.py startapp myapp1 باید استفاده بشه
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
نقل قول:
نوشته شده توسط
debian@ubuntu
سلام
در موردpython manage.py MyApp1 خطای 'unknown command 'myapp1
با سلام
می بایست از startapp استفاده بشه یعنی :
python manage.py startapp MyApp1
متاسفانه در نوشته های بالا فراموش شده بود و همچنین متشکرم که گفتید این مسئله رو
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام
میشه در مورد این موارد توضیحی بدید و منبع معرفی بکنید
WSGIPythonHome C:/Python27/
WSGIPythonPath C:/Python27/python.exe
"WSGIScriptAlias / "C:/xampp/htdocs/mysite/mod.wsgi
چون جاهای دیگه آدرس های مختلفی دیدم یکم سردر گم شدم
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
با سلام
نقل قول:
WSGIPythonHome C:/Python27/
همونطور که در مثال بالا گفته شد ما یک Library File بنام mod_wsgi.so رو داخل فایل تنظیمات اپاچی لود کردیم
LoadModule wsgi_module modules/mod_wsgi.so
این فراخوونی باعث میشه یه سری تنظیمات همراه با یه سری Configuration Directives به فایل کانفیگ آپاچی اضافه بشه ، این Configuration Directives ها به شرح زیر هستند :
WSGIScriptAlias
WSGIScriptAliasMatch
WSGIApplicationGroup
WSGIDaemonProcess
WSGISocketPrefix
WSGIProcessGroup
WSGIRestrictProcess
WSGIImportScript
WSGICallableObject
WSGIPassAuthorization
WSGIAuthUserScript
WSGIAuthGroupScript
WSGIAccessScript
WSGIScriptReloading
WSGIReloadMechanism
WSGIOutputBuffering
WSGICaseSensitivity
WSGIPythonOptimize
WSGIPythonExecutable
WSGIPythonHome
WSGIPythonPath
WSGIPythonEggs
WSGIRestrictEmbedded
WSGIRestrictStdin
WSGIRestrictStdout
WSGIRestrictSignal
WSGIAcceptMutex
WSGILazyInitialization
از این ها شما پرسیدید WSGIPythonHome چیست :
در اصل این Configuration Directives به فایل mod_wsgi.so میگه مسیر موجودیت کمپایلر کجاست و فایل mod_wsgi.so هم فایل های پایتون رو با استفاده از این مسیر دهی کمپایل میکنه
WSGIPythonPath :
این Configuration Directives به فایل mod_wsgi.so میگه که مسیر نصب پایتون کجاست
WSGIScriptAlias
این Configuration Directive که خیلی هم مهم هست و ممکنه با اشتباه در پارامترگذاری در این قسمت کل وب سرور دچار مشکل بشه وظیفش انتقال urlها به یک فایلی هست که بعنوان مبدا در همین آیتم تعریف میشه :
WSGIScriptAlias URL-pathfile-path|directory-path
اگر URL-path برابر باشد با / آنگاه تمام مراجعات به وب سرورتون به فایلی که در file-path|directory-path نوشته شده map میشه و در نتیجه وب سرورتون یک محصوله میشه ، بهتره بجای / از ms/ که ذکر کرده بودم استفاده بشه یعنی یه Alias حتما بکار برده بشه ( البته اگر از یک پورت همیشه استفاده میکنید )
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام
درست شد امروز صفحه سایت رودیدم
بلاخر ه متوجه شدم مشکل در اختلاف ورژن پیتون ران شده با ورژن پایتون کامپایل کننده ماژول بود دیگه نیازی به ویرچوال هاست هم نیست همچی تر تمیز در کنار هم کار میکنن عالی بود
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
نقل قول:
نوشته شده توسط
debian@ubuntu
سلام
درست شد امروز صفحه سایت رودیدم
بلاخر ه متوجه شدم مشکل در اختلاف ورژن پیتون ران شده با ورژن پایتون کامپایل کننده ماژول بود دیگه نیازی به ویرچوال هاست هم نیست همچی تر تمیز در کنار هم کار میکنن عالی بود
تبریک عرض میکنم :)))))))
من هم وقتی بعد مدتها تمرین با دی جانگو تونسته بودم روی آپاچی بیارمش بالا احساس خوبی داشتم
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام...آقا ما هرچي مينويسيم و بعد ميخام كه اجراشون كنم اجرا نميشن يعني دقيقا نوشته هام نشون داده ميشن مثل notepad عمل ميكنه(opera 20 , mozilla 5.0)
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
نقل قول:
نوشته شده توسط
arman54
سلام...آقا ما هرچي مينويسيم و بعد ميخام كه اجراشون كنم اجرا نميشن يعني دقيقا نوشته هام نشون داده ميشن مثل notepad عمل ميكنه(opera 20 , mozilla 5.0)
با سلام
وقتی این اتفاق میوفته که هنوز Apache آماده ی اجرای فایل های پایتون نیست ، این اتفاق برای همه ی زبون ها درصورتی که آپاچی ندونه چطوری اجراشون کنه پیش میاد و بجای اجرای آنها سورس رو نشون میده
LoadModule wsgi_module modules/mod_wsgi.so
لطفا ببینید این خط رو درست فراخونی کرده باشید
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام
مرسی از آموزش خیلی خوبتون
من اون یه اپ با جنگو ساختم و با سرور خودش ران کردم و اجرا شد. بعد wampserver 2.5 رو نصب کردم که آپاچی 2.4.9 رو داره. با توجه به اینکه پایتون 3.4 رو نصب کردم و از ویندوز 64 بیتی استفاده می کنم ، این نسخه از wsgi رو دانلود کردم :
mod_wsgi‑3.5.ap24.win‑amd64‑py3.4.zip
بعد توی پوشه modules آپاچی گذاشتمش و این کد رو به httpd.conf اضافه کردم:
LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonHome E:/software/Python34
WSGIPythonPath E:/software/Python34/python.exe
WSGIScriptAlias /ms "E:/software/wamp/bin/apache/apache2.4.9/htdocs/mysite/mod.wsgi.py"
Alias /ms "E:/software/wamp/bin/apache/apache2.4.9/htdocs/mysite"
بعد هم اپ جنگو رو توی پوشه mysite ریختم.حالا دیگه wampserver اکتیو نمیشه و زرد رنگ میمونه :(
محتویات mod.wsgi.py هم به این شکل تغییر دادم:
import os, sys
path = r'E:\software\wamp\bin\apache\apache2.4.9\htdocs\m ysite'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
لطفا راهنمایی کنید که کجای کارم ایراد داره خیلی خیلی واسم مهمه و کارم لنگشه.ممنون از کمکتون
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
تنظیمات رو به حالت پیش فرض برگردون تا ببینی مشکل از تنظیماتته یا اون wsgi که نصب کردی.
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
توی لینوکس یه لاگی میندازه که چی مشکل داره احتمالا توی ویندوز هم به همین شکله اما من نمیدونم مسیرش کجاست دقیقا، اون رو پیدا کن توش به احتمال زیاد نوشته کجای کار داره میلنگه
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
نقل قول:
نوشته شده توسط
n.nowroozi
توی لینوکس یه لاگی میندازه که چی مشکل داره احتمالا توی ویندوز هم به همین شکله اما من نمیدونم مسیرش کجاست دقیقا، اون رو پیدا کن توش به احتمال زیاد نوشته کجای کار داره میلنگه
متاسفانه لاگش خیلی احمقانست من الان تست کردم اما نوتیفیکشن های اجرای صحیح دیروز رو داره :(
[Tue Oct 07 13:12:57.120613 2014] [mpm_winnt:notice] [pid 3780:tid 380] AH00455: Apache/2.4.9 (Win64) PHP/5.5.12 configured -- resuming normal operations[Tue Oct 07 13:12:57.120613 2014] [mpm_winnt:notice] [pid 3780:tid 380] AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59[Tue Oct 07 13:12:57.120613 2014] [core:notice] [pid 3780:tid 380] AH00094: Command line: 'E:\\software\\wamp\\bin\\apache\\apache2.4.9\\bin \\httpd.exe -d E:/software/wamp/bin/apache/apache2.4.9'[Tue Oct 07 13:12:57.121613 2014] [mpm_winnt:notice] [pid 3780:tid 380] AH00418: Parent: Created child process 1484[Tue Oct 07 13:12:57.389613 2014] [mpm_winnt:notice] [pid 1484:tid 304] AH00354: Child: Starting 64 worker threads.[Tue Oct 07 13:42:45.723613 2014] [mpm_winnt:notice] [pid 3780:tid 380] AH00422: Parent: Received shutdown signal -- Shutting down the server.[Tue Oct 07 13:42:47.724613 2014] [mpm_winnt:notice] [pid 1484:tid 304] AH00364: Child: All worker threads have exited.[Tue Oct 07 13:42:47.747613 2014] [mpm_winnt:notice] [pid 3780:tid 380] AH00430: Parent: Child process 1484 exited successfully.
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
برای داشتن php و python برروی apacheدو فایل include در مسیر C:\Apache24\conf\extra با نام های httpd-php و httpd-python ایجاد کنید وتنظیمات هر زبان را برای Apache در آن ها قرار دهید و در فایل تنظیمات اصلی آپاچی include کنید
مثال برای php در فایل httpd-php
# PHP-Module setup
#
configure the path to php.ini#
"PHPInIDir "c:/php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
"LoadFile "c:/php/php5ts.dll
"LoadFile "c:/php/libpq.dll
"LoadModule php5_module "c:/php/php5apache2_4.dll
<"FilesMatch "\.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<"FilesMatch "\.phps$>
SetHandler application/x-httpd-php-source
</FilesMatch>
برای python در فایل httpd-python
python load for apache#
LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonHome C:/Python27/
WSGIPythonPath C:/Python27/python.exe
WSGIScriptAlias / "C:/Apache24/htdocs/mysite/mod.wsgi
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام
من همه این کارا رو که توی آموزش اول گفتید انجام دادم ولی دیگه آپاچی استارت نمیشه
خطای the specified procedure could not be found میده
و من نتونستم نسخه mod_wsgi-3.5.ap22.win-amd64-py2.7.so رو پیدا کنم
نسخه
mod_wsgi-4.4.12+ap22vc10-cp33-none-win32.whl_FILES رو دانلود کردم
میشه راهنمایی کنید
با تشکر
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی
سلام دوستان عزیز من برنامع نویس C++ و java هستم خواستم بدونم Python ارزش یاد گرفتن داره؟ اخه خیلی تعریفشو شنیدم خواستم بدونم اگه واقعا خوبه اونم یاد بگیرم!
اگه منبع خوبی سراغ دارید معرفی کنید ممنون میشم و لطفا یه توضیح کلی راجبعه کتابخانه هاش بدین و بگین واسه چه کاری بدرد میخوره هر کدوم ممنون میشم.
و البته اینم بگین که کدوم کتابخانه هاش بهتره که زود سویچ کنم روش
ممنون میشم کمکم کنید و اگه سوالی داشته باشید درباره ++C و #C و Java میتونم با اندوخته های ناچیزم کمک کوچکی کنم
-
نقل قول: آموزش : Apache + Django نحوه نصب جانگو در آپاچی