۲۱ مطلب با کلمه‌ی کلیدی «آموزش لینوکس» ثبت شده است

آموزش قدم به قدم دپلوی کردن یک وب اپلیکیشن پایتونی با nginx و uwsgi در دبیان

بعد از درخواست یکی از دوستان در مورد دپلوی کردن(deploy) یک وب اپلیکیشن پایتونی که با جنگو نوشته شده بود،تصمیم گرفتم این مطلب رو بنویسم.اینجا چند چیز را فرض کردم:

  • از فریم‌ورک فلسک استفاده می‌کنید.در مورد جنگو هم البته داستان کمابیش همین هست.در مورد چری‌پای میتونید با همچین راهنمایی پیش برید یا از کارساز(سرور) وب خود چری‌پای به اسم چروت(cheroot) استفاده کنید.
  • از دبیان(یا توزیع‌هایی که بر پایه دبیان ساخته شدن مثل اوبونتو) و systemd استفاده می‌کنید.
  • میخواهید از انجین‌ایکس(nginx) به عنوان کارساز وب یا وب‌سرور استفاده کنید.
  • تنها از HTTP می‌خواهید استفاده کنید و برای سادگی کار فعلا HTTPS را کنار میگزارید.
  • قرار هست وب اپلیکیشن شما در ریشه قرار بگیرد.یعنی از طریق آدرسی مثل https://example.com/ قابل دسترسی باشد نه مثلا https://example.com/somepage

ادامه مطلب...
مجوز مطالب و محتوا ۱۷ شهریور ۰۰ ، ۱۱:۰۰ ۱ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

نظرات (۱)

محمد صادق عبداللهی

به اشتراک گذاشتن خط فرمان در لینوکس با استفاده از GNU Screen

تا حالا برایتان پیش آمده که بخواهید کنسول یا خط فرمان خود را با یکی از دوستان خود از طریق اینترنت به اشتراک بگذارید؟میتوانید با گنو اسکرین به راحتی اینکار را انجام دهید.تنها چیزی که نیاز دارید یک حساب/اکانت روی یک سیستم یونیکسی(لینوکس با فری‌بی‌اس‌دی یا هر چیز) است که اولا برنامه screen را نصب شده داشته باشد و دوما هر دو بتوانید به این اکانت دسترسی داشته باشید(مثلا هر دو پسورد یا رمزعبور اکانت را داشته باشید).

ادامه مطلب...
مجوز مطالب و محتوا ۰۶ مهر ۹۹ ، ۰۹:۳۷ ۰ نظر موافقین ۳ مخالفین ۰
فاروق کریمی زاده

کنترل از راه دور بلوتوثی برای لپ‌تاپ با استفاده از ریموت مونوپاد

ریموت بلوتوثی

اندی پیش برادرم یک مونوپاد خرید کرد که به دلیل استفاده نادرست، مونوپاد خراب شد اما ریموت بلوتوثی مونوپاد سالم ماند و به دست من افتاد. بنده هم این فکر به ذهنم خطور کرد که از این ریموت ۳ کلیده به عنوان ریموت بلوتوثی لپ‌تاپ استفاده کنم. بعد از روشن کردن ریموت و اتصال لپ‌تاپ بهش متوجه شدم که ریموت به عنوان یک کیبورد عمل می‌کند.

ادامه مطلب...
مجوز مطالب و محتوا ۱۳ خرداد ۹۹ ، ۱۳:۱۲ ۸ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

نظرات (۸)

علیرضا آهنی
علیرضا آهنی
علیرضا آهنی
علیرضا آهنی
علیرضا آهنی
علیرضا آهنی

پیست‌بین در خط‌فرمان(استفاده از apaste.info در خط فرمان با curl)

در حال نوشتن چند خط کد بودم و نیاز داشتم که هربار کد را در یک کانال آی‌آر‌سی بفرستم تا کد بازبینی و اشتباهاتم گوشزد شود. از یک پیست‌بین(pastebin) استفاده میکردم و هربار پیوند نسخه جدید کد را به کانال میفرستادم اما این پروسه دردناک و آزار دهنده بود:

  • تغییر کد
  • کپی آن به بریده‌دان(clipboard) سیستم پنجره‌ی اکس
  • وارد شدن به apaste.info با مرورگر وب
  • وارد کردن کد و گرفتن پیوند کد
  • فرستادن کد به کانال

برای همین رفتم دنبال اینکه این فرآیند را کوتاه‌تر و خوش‌آیندتر کنم. برای اینکار از curl استفاده کردم. با اینکه کرل برای اکثر سیستم‌عامل‌ها از جمله داس، ویندوز، مک، شبه‌یونیکس‌ها و ... وجود دارد اما همچین چیزی بیشتر بدرد کاربرانی میخورد که با خط فرمان زیاد کار میکنند و این کاربران در ویندوز بدلیل عدم وجود یک خط فرمان قوی، کمتر دیده میشوند.

ادامه مطلب...
مجوز مطالب و محتوا ۱۶ اسفند ۹۷ ، ۱۶:۲۴ ۱ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

نظرات (۱)

فرهاد حسن پور

چطور از طریق خط‌فرمان مکان جغرافیایی یک IP را پیدا کنیم؟

اگر بخواهید مکان فیزیکی یک IP را پیدا کنید، ابزار های آنلاینی برای اینکار وجود دارند اما شاید مثل من پیرو راه بزرگ یونیکس باشید و  خط‌فرمان سریغ‌تر و کم‌هزینه‌تر هم هست.
اینجا دو روش را معرفی میکنم که از طریق خط‌فرمان بتوانید مکان جغرافیایی یک IP را پیدا کنید. روش اول از یک برنامه استفاده میکند که بر اساس یک پایگاه داده و بصورت آفلاین کار میکند و برای شبه یونیکس‌ها شامل گنو/لینوکس،بی‌اس‌دی ها و ... در دسترس هست. روش دوم که از curl و یک API استفاده میکند، نیازمند دسترسی به اینترنت هست و روی اکثر سیستم‌عامل ها قابل استفاده در دسترس هست.
ادامه مطلب...
مجوز مطالب و محتوا ۲۹ شهریور ۹۷ ، ۱۲:۱۲ ۱ نظر موافقین ۲ مخالفین ۰
فاروق کریمی زاده

نظرات (۱)

فرهاد حسن پور

برنامه‌ی look در یونیکس

look [-bdf] [-t termchar] string [file]
look [-f] string [file]

این برنامه که ریشه‌اش BSD هست، تمام خطوط پرونده‌ی file را که با رشته‌ی string شروع میشوند،به خروجی میفرستد.

ادامه مطلب...
مجوز مطالب و محتوا ۱۷ خرداد ۹۷ ، ۰۷:۳۲ ۱ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

نظرات (۱)

علیرضا آهنی

سیگنال‌ها در یونیکس

اگر بخوایم کوتاه و ساده در مورد سیگنال‌ها صحبت کنیم،علامت هایی هستند که به پروسه‌ها فرستاده میشوند و پروسه مقصد واکنشی نشان میدهد.بعضی از سیگنال‌ها میتوانند توسط پروسه‌ها نادیده گرفته شوند و بعضی نه. طریقه‌ی handle کردن سیگنال‌ها نیز با توجه به زبانی که استفاده میکنید میتواند متفاوت باشد. در پایتون اینکار از طریق ماژول signal انجام میشود و در سی از طریق پرونده‌ی سرآمد signal.h و تابع signal.جدول زیر فهرستی از سیگنال‌های متداول را نشان میدهد، برای دیدن فهرستی کامل از آنها باید kill -l را ببینید.

ادامه مطلب...
مجوز مطالب و محتوا ۰۱ بهمن ۹۶ ، ۱۲:۰۱ ۲ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

چطور از تاریخچه بش برای بالابردن کارایی خود در کار با خط‌فرمان استفاده کنیم؟

اگر شما با خط‌فرمان لینوکس زیاد کار میکنید و شل شما بش است با ترفند هایی که در این مطلب آموزش داده میشود میتوانید سرعت و کارایی خود را زمانی که با خط‌فرمان کار میکنید افزایش دهید.

دستور history

این دستور ساده تاریخچه‌ی بش شما را به نمایش میگزارد:

history

خروجی چیزی مانند شکل زیر خواهد بود:

ادامه مطلب...
مجوز مطالب و محتوا ۲۶ ارديبهشت ۹۶ ، ۱۲:۰۰ ۱ نظر موافقین ۲ مخالفین ۰
فاروق کریمی زاده

نظرات (۱)

فرهاد حسن‌پور

راه‌اندازی یک HTTP سرور کوچک برای محتویات ایستا

چند وقتی بود که این مخزن رو توی گیت‌هاب به لیست علاقه‌مندی ها اضافه کرده بودم، این دستورات برای راه اندازی یک وب سرور ساده‌ی HTTP برای محتویات ایستا هستند(یعنی CGI و PHP و اینا پر!). این سرور ها همه به پورت ۸۰۰۰ گوش میدهند.

  • پایتون ۳
python3 -m http.server 8000
  • پایتون ۲
python -m SimpleHTTPServer 8000
  • روبی
ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start'
  • روبی ۱.۹.۲ و بالاتر
ruby -run -ehttpd . -p8000
  • پی اچ پی
php -S 127.0.0.1:8000
  • بیزی‌باکس
busybox httpd -p 8000
  • پاورشل
$Hso=New-Object Net.HttpListener;$Hso.Prefixes.Add("http://+:8000/");$Hso.Start();While ($Hso.IsListening){$HC=$Hso.GetContext();$HRes=$HC.Response;$HRes.Headers.Add("Content-Type","text/plain");$Buf=[Text.Encoding]::UTF8.GetBytes((GC (Join-Path $Pwd ($HC.Request).RawUrl)));$HRes.ContentLength64=$Buf.Length;$HRes.OutputStream.Write($Buf,0,$Buf.Length);$HRes.Close()};$Hso.Stop()

یا اگر خواستید با Command Prompt اجراش بکنید:

PowerShell.exe -nop -enc JABIAHMAbwA9AE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAEgAdAB0AHAATABpAHMAdABlAG4AZQByADsAJABIAHMAbwAuAFAAcgBlAGYAaQB4AGUAcwAuAEEAZABkACgAIgBoAHQAdABwADoALwAvACsAOgA4ADAAMAAwAC8AIgApADsAJABIAHMAbwAuAFMAdABhAHIAdAAoACkAOwBXAGgAaQBsAGUAIAAoACQASABzAG8ALgBJAHMATABpAHMAdABlAG4AaQBuAGcAKQB7ACQASABDAD0AJABIAHMAbwAuAEcAZQB0AEMAbwBuAHQAZQB4AHQAKAApADsAJABIAFIAZQBzAD0AJABIAEMALgBSAGUAcwBwAG8AbgBzAGUAOwAkAEgAUgBlAHMALgBIAGUAYQBkAGUAcgBzAC4AQQBkAGQAKAAiAEMAbwBuAHQAZQBuAHQALQBUAHkAcABlACIALAAiAHQAZQB4AHQALwBwAGwAYQBpAG4AIgApADsAJABCAHUAZgA9AFsAVABlAHgAdAAuAEUAbgBjAG8AZABpAG4AZwBdADoAOgBVAFQARgA4AC4ARwBlAHQAQgB5AHQAZQBzACgAKABHAEMAIAAoAEoAbwBpAG4ALQBQAGEAdABoACAAJABQAHcAZAAgACgAJABIAEMALgBSAGUAcQB1AGUAcwB0ACkALgBSAGEAdwBVAHIAbAApACkAKQA7ACQASABSAGUAcwAuAEMAbwBuAHQAZQBuAHQATABlAG4AZwB0AGgANgA0AD0AJABCAHUAZgAuAEwAZQBuAGcAdABoADsAJABIAFIAZQBzAC4ATwB1AHQAcAB1AHQAUwB0AHIAZQBhAG0ALgBXAHIAaQB0AGUAKAAkAEIAdQBmACwAMAAsACQAQgB1AGYALgBMAGUAbgBnAHQAaAApADsAJABIAFIAZQBzAC4AQwBsAG8AcwBlACgAKQB9ADsAJABIAHMAbwAuAFMAdABvAHAAKAApAA==
  • شل
while true ; do nc -l 8000 < test.html ; done

نسخه پاورشل را خودم امتحان نکرده ام.

منبع و همچنین دستورات بیشتر برای اجرای وب سرور در گیت‌هاب گیست

مجوز مطالب و محتوا ۲۴ ارديبهشت ۹۶ ، ۱۲:۰۰ ۳ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

دسترسی به فایل های یک سرور با sshfs

با sshfs میتونید یک دایرکتوری در سرور رو روی یک دایرکتوری در رایانه محلی تون سوار بکنید(mount) و از این طریق به فایل های روی سرور دسترسی داشته باشید.

sshfs [user@]host:[dir] mountpoint [options]

از همون نام کاربری و رمز عبوری که برای ssh استفاده میکنید، برای sshfs نیز استفاده بکنید.بعد از سوار شدن میتوانید به فایل ها همانند فایل های محلی روی رایانه محلی، دسترسی داشته باشید.برای unmount کردن هم:

fusermount -u mountpoint
مجوز مطالب و محتوا ۲۸ اسفند ۹۵ ، ۲۰:۰۳ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده