د نګینکس سرور بلاکونه (server blocks) یا مجازی هاستونه هغه طریقه ده چې تاسو کولای شئ په یوه نګینکس نصب شوي سرور کې مختلف ډومینونه یا ویبسایټونه، هر یو د جلا تنظیماتو، جلا فولډرونو، SSL سندونو، لاګونو او حتی جلا PHP تنظیماتو سره فعال کړئ. مثلاً، تاسو کولای شئ په یو VPS سرور کې example.com، blog.example.com او دوهم-site.com لپاره جلا public فولډر، جلا log فایلونه، او جلا SSL سندونه تعریف کړئ. حل دا دی چې هر ویبسایټ ته جلا فولډر جوړ کړئ، ډومین DNS ریکارډونه سرور IP ته واړوئ، د /etc/nginx/sites-available فولډر کې جلا سرور بلاک جوړ کړئ، دا sites-enabled ته سمبولیک لینک کړئ، تنظیمات تست کړئ او نګینکس سرور ریلوډ کړئ.
په دې لارښود کې به د نګینکس سرور بلاکونو سره څو ویبسایټونه د تولیدي (Production) چاپیریال لپاره په عملي ډول تنظیم کړو. هدف دا نه دی چې یوازې کارکوونکی سیستم جوړ کړو، بلکې یو اداره کیدونکی، امن، چټک، بیکاپ کیدونکی او پراخېدونکی (scalable) سیستم جوړ شي. دا لارښوونې خاص د ویب ډیزاین ایجنسی، پراختیاکوونکو، ای-کامرس صاحبان، څو برانډونه مدیریت کوونکو شرکتونو او سیسټم اډمینانو ته چې یو سرور کې مختلف پروژې چلوي، ګټورې دي. که سرور نلرئ، د سرچینې انتخاب لپاره VPS سرور او د ډومین مدیریت لپاره د ډومېن تذکیر وګورئ.
د نګینکس سرور بلاکونه څه دي؟
نګینکس سرور بلاکونه هغه تنظیماتي برخه ده چې د server block په نوم تعریف شوي وي او نګینکس ته دا ښيي چې هر HTTP یا HTTPS request به کوم سایت ته ورشي. دا د Apache VirtualHost مفکورې ته ورته ده. کله چې یو کاروونکی خپل browser کې یو ډومین ټایپ کړي، DNS د ډومین نوم سرور IP ته ترجمه کوي. بیا نګینکس د request Host header ته ګوري، او د server_name سره برابر بلاک چلوي.
د دې طریقې سره، تاسو کولای شئ په یو IP او سرور کې لسګونه ویبسایټونه نشر کړئ. هر ویبسایټ ته جلا root فولډر، access log، error log، redirect قواعد، SSL سند، cache تنظیمات او امنیتي پالیسۍ ورکولای شئ. مثلاً، corporate-site په /var/www/corporate/public، بلاګ په /var/www/blog/public او test environment په /var/www/staging/public کې ساتلای شئ.
نګینکس په دې معماري کې ډېر موثره دی، ځکه چې event-based دی او ډېر concurrent connections د لږو منابعو سره مدیریت کوي. نو ځکه د مشترک هاست، VPS، cloud سرور او high-traffic اپلیکیشنونو کې ډېر کارول کېږي. خو د Multi-site hosting لپاره باید د فایل permissions، DNS تنظیم، SSL نصب او log جلاوالي هره جزئیت صحیح پلان شي.
نګینکس سرور بلاکونه کله کارول کېږي؟
نګینکس سرور بلاکونه په هغه وخت کې کارول کېږي چې تاسو باید د یوه سرور څخه مختلف ویبسایټونه یا ډومینونه مدیریت کړئ. دا ممکن دوه کوچني corporate ویبسایټونه وي، یا حتی لسګونه مشتری پروژه، subdomains یا microservices. مهم ټکی دا دی چې هر پروژه له بلې جلا وي.
- که غواړئ څو ډومینونه په یوه VPS سرور کې نشر کړئ.
- که اړتیا لرئ www او non-www ډومینونه یو canonical address ته redirect کړئ.
- که subdomains بېلا بېلو فولډرونو یا اپلیکیشنونو ته واړوئ.
- که هر ویبسایټ ته جلا SSL سند او امنیتي پالیسۍ تعریف کړئ.
- که مشتری پروژې د جلا log فایلونو سره تعقیب کړئ.
- که Laravel، WordPress، static HTML او Node.js اپلیکیشنونه په یوه سرور کې چلئ.
مثلاً، یو ډیجیټل ایجنسي کولای شي په یوه ۴GB RAM VPS کې ۸ کمترافیک corporate ویبسایټونه نشر کړي، خو باید هر ویبسایټ ته د ترافیک، disk مصرف، PHP processes، database load او backup فریکونسۍ حساب وکړي. که پروژې high-traffic وي یا منابعو جلاوالي مهمه وي، نو قوي VPS، cloud سرور یا مدیریت شوي هاست غوره دی. دلته وېب هاستینګ او کارپوریټ هاستینګ انتخابونه پرتله کړئ.
د پیل مخکې اړتیاوې
دا لارښود د Ubuntu یا Debian-based Linux سرور فرض کوي. کمانډونه ممکن لږ متفاوت وي، خو منطق یو دی. د production سرور سره کار کولو مخکې حتماً backup واخلئ، ځکه غلط نګینکس تنظیم کولای شي ټول سایتونه موقتاً inaccessible کړي.
تخنیکي چمتووالی
- د root یا sudo privileges لرونکی Linux یوزر.
- نصب شوی او فعال Nginx service.
- د سرور IP ته لږ تر لږه یو ډومین redirect شوی.
- د firewall کې ports 80 او 443 خلاص وي.
- د ویبسایټ فایلونو لپاره منظم فولډر جوړښت.
- د SSL لپاره درست certificate یا رایگان Let’s Encrypt.
- د PHP اپلیکیشنونو لپاره PHP-FPM نصب شوی وي.
په DNS کې A record د ډومین نوم IPv4 ته او AAAA record IPv6 ته redirect کوي. د subdomains لکه www لپاره CNAME یا A record کارولای شئ. DNS propagation معمولاً له څو دقیقو تر ۲۴ ساعتونو پورې وخت نیسي. د نوې نصب لپاره اول DNS records جوړ کړئ، بیا د Nginx server blocks تنظیم ته لاړ شئ، دا به پروسه چټکه کړي.
سپارښت شوی فولډر جوړښت
په multi-site hosting کې یوه عامه اشتباه داده چې ټول فایلونه په یو فولډر کې ګډ ساتل کېږي. دا کار لنډ مهال کې آسانه ښکاري، خو د مدیریت، backup او debugging کې ډېر وخت ضایع کوي. غوره دا ده چې هر ډومین ته جلا root فولډر او د هغې دننه public، logs، backups فولډرونه جوړ کړئ.
مثلاً، /var/www/site1.com/public، /var/www/site1.com/logs، /var/www/site2.com/public او /var/www/site2.com/logs جوړ کړئ. د Nginx root باید د public فولډر ته اشاره وکړي، ترڅو حساس فایلونه لکه .env یا backups د ویب له لارې مستقیم access نشي.
د هر سایت لپاره یو ساده index.html فایل جوړ کړئ. پدې کې د سایت نوم ولیکئ، دا به تاسې ته اسانه کړي چې چیرته کوم server block کار کوي. په production کې د فولډر مالکیت معمولاً www-data یوزر یا deployment یوزر ته ورکول کېږي. د فولډرونو permissions 755 او فایلونو ته 644 اکثر static scenarios کې کفایت کوي. د WordPress یا نورو write ته اړتیا لرونکو اپلیکیشنونو کې uploads فولډر کې permissions جلا تنظیم کړئ.
د نګینکس سرور بلاک جوړولو ګامونه
لاندې مراحل د site1.com لپاره مثال دي، همدا طریقه د بل یا څو ویبسایټونو لپاره تکرار کړئ. مهم دا دی چې هر ویبسایټ ته unique server_name، root او log فایل تعریف کړئ.
۱. د ویبسایټ فولډر جوړ کړئ
اول د ویب فایلونو لپاره فولډر جوړ کړئ: sudo mkdir -p /var/www/site1.com/public. بیا د تست لپاره یو index.html فایل ولیکئ، مثلاً "دا د site1.com تست صفحه ده".
د فایل مالکیت لپاره sudo chown -R www-data:www-data /var/www/site1.com کمانډ وکاروئ. که deployment بل یوزر کوي، group permissions هم مطابق تنظیم کړئ. د production لپاره د 777 permissions څخه ډډه وکړئ، دا خطرناک دی او هکران کولای شي upload directories غلط استعمال کړي.
۲. سرور بلاک فایل جوړ کړئ
د نګینکس معمولی طریقه دا ده چې غیر فعال تنظیمات په /etc/nginx/sites-available کې ساتي او فعال ته یې /etc/nginx/sites-enabled کې symbolic link ورکوي. د site1.com لپاره فایل: /etc/nginx/sites-available/site1.com.
د ساده HTTP بلاک مثال: server { listen 80; server_name site1.com www.site1.com; root /var/www/site1.com/public; index index.html index.htm; access_log /var/log/nginx/site1.com.access.log; error_log /var/log/nginx/site1.com.error.log; location / { try_files $uri $uri/ =404; } }
دلته listen 80 د HTTP traffic ته غوږ نیسي، server_name ډومینونه تعریف کوي، root د فایل فولډر، index default فایلونه، try_files د request فایل یا فولډر ونه مومي 404 ورکوي. دا static ویبسایټونو لپاره کافی دی.
۳. ویبسایټ فعال کړئ
د فعالولو لپاره symbolic link جوړ کړئ: sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/site1.com. دا طریقه له کاپي کولو غوره ده، ځکه چې تغییرات مستقیم انتقالېږي.
که نه غواړئ د نګینکس default page ستاسو سایت ته مخه کړي، نو /etc/nginx/sites-enabled/default symbolic link حذف کړئ، خو دا مخکې خپل بلاک صحیح کار کوي یقیني کړئ.
۴. تنظیمات تست او نګینکس ریلوډ کړئ
هر تغییر وروسته sudo nginx -t سره syntax تست کړئ. که کامیاب وي، sudo systemctl reload nginx سره service بغير downtime ریلوډ کړئ. reload له restart خوندي دی، ځکه connections نرمه مدیریت کوي.
که test ناکام شي، error message معمولاً فایل او line number ښيي. غلط semicolon، braces، path یا server_name collision عام errors دي. تر اصلاح مخکې نګینکس ریلوډ مه کړئ.
دوهم او درېیم ویبسایټ اضافه کول
د multi-site hosting ګټه دا ده چې یو ځل صحیح setup وروسته، پروسه تکرارېږي. د site2.com لپاره /var/www/site2.com/public جوړ کړئ، /etc/nginx/sites-available/site2.com فایل ولیکئ، root او log ورته بدل کړئ، symbolic link جوړ کړئ او نګینکس تست کړئ.
د site2.com بلاک مثال: server { listen 80; server_name site2.com www.site2.com; root /var/www/site2.com/public; index index.html; access_log /var/log/nginx/site2.com.access.log; error_log /var/log/nginx/site2.com.error.log; location / { try_files $uri $uri/ =404; } }
د هر ویبسایټ لپاره جلا log فایلونه ډېر مهم دي. که یوه سایت کې 404 errors ډېر شي او بل کې نه شي، د log فایلونو سره ستونزه ژر پیدا کولای شئ. د ترافیک، bot حملې، broken links او performance analysis هم هر سایت جلا تعقیب کړئ.
SSL او HTTPS تنظیم
د SEO د معیارونو له مخې HTTPS یواځې امنیت نه بلکه د اعتبار او کیفیت نښه ده. Browsers HTTP ویبسایټونه ناامنه ګڼي؛ د پیسو، user signup، form یا admin panel لرونکو سایټونو کې SSL لازمي دی. د multi-site hosting کې هر ډومین ته درست certificate تعریف کړئ. د Hostragons سره SSL اړتیا لپاره د SSL سندونه وګورئ.
که Let’s Encrypt کاروئ، Certbot سره هر ډومین ته certificate واخلئ. certbot --nginx -d site1.com -d www.site1.com کمانډ نګینکس تنظیمات پیدا کوي او HTTPS بلاک اتومات اضافه کوي. خو، د اتومات اضافه وروسته فایل چیک کړئ، ځکه ممکن غلط redirect یا duplicate server blocks رامنځته شي.
د HTTPS تنظیم کې اکثر port 80 traffic د 443 ته permanent redirect کېږي. 301 redirect د SEO لپاره قوي signal دی. تصمیم ونیسئ چې www کاروئ یا نه، او ټول variations یو canonical address ته redirect کړئ. مثلاً، که https://site1.com canonical وي، نو د HTTP او HTTPS www traffic هم ورته redirect کړئ، دا duplicate content خطر کموي.
د PHP او WordPress سایټونو لپاره نګینکس سرور بلاکونه
د static HTML سایټونو تنظیم ساده دی، خو WordPress، Laravel یا خاص PHP اپلیکیشنونو کې PHP-FPM ته integration پکار دی. دلته index.php تعریف کېږي، او PHP requests socket ته منتقل کېږي. مثلاً، Ubuntu کې PHP 8.3 لپاره socket path: /run/php/php8.3-fpm.sock. نسخه سرور پورې تړلې ده.
د PHP سایټ بلاک مثال: server { listen 80; server_name wordpress-site.com www.wordpress-site.com; root /var/www/wordpress-site.com/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args; } location ~ php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; } }
د WordPress لپاره try_files $uri $uri/ /index.php?$args مهم دی چې permalinks صحیح کار وکړي. همداراز، xmlrpc.php access، wp-login.php rate limiting، uploads فولډر کې PHP execution منع کول امنیتي تدابیر دي. که ډیر WordPress سایټونه په یو VPS کې لرئ، هر یو ته جلا database، جلا user او منظم update policy ولرئ. د WordPress hosting لپاره د WordPress هاستنګ مدیریت شوی انتخاب دی.
د نګینکس سرور بلاکونه او Apache VirtualHost پرتله

نګینکس او Apache ورته هدف ته مختلف معماري سره رسي. دواړه کولای شي په یو سرور کې مختلف سایټونه نشر کړي. انتخاب ستاسو د اپلیکیشن اړتیا، مدیریت او performance ته وابسته دی.
| معیار | Nginx سرور بلاکونه | Apache VirtualHost |
|---|---|---|
| Performance | په ډېر concurrent connections کې کم resource مصرف لري. | د module او process model له امله ډېر resource مصرفولای شي. |
| تنظیم | مرکزي او ساده configuration لري. | .htaccess سره directory-based flexibility ورکوي. |
| Static فایلونه | ډېر چټک او موثره دی. | ښه performance لري، خو Nginx اکثر lighter دی. |
| PHP چلول | د PHP-FPM له لارې کار کوي. | mod_php یا PHP-FPM دواړه کارولای شي. |
| استعمال | Reverse proxy، static فایلونه، high-traffic، modern apps لپاره قوي دی. | .htaccess ته اړتیا لرونکو legacy apps او shared hosting کې اسانه دی. |
که اپلیکیشن مو .htaccess ته ډېر تکیه کوي، Apache اسانه ده. خو، د high-traffic، reverse proxy، cache او modern workflows لپاره Nginx قوي انتخاب دی. ځینې setup کې Nginx د reverse proxy، Apache د backend server استعمالېږي.
د امنیت لپاره غوره طریقه
په یوه سرور کې څو سایټونه چلول د لګښت له نظره ګټه لري، خو امنیتي مسئولیت زیاتوي. باید isolation او کمصلاحیت اصل مراعات کړئ چې یو سایټ کې ستونزه بل سایټ ته انتقال نشي.
- هر سایټ ته جلا database او database user جوړ کړئ.
- Web root یوازې public فولډر ته محدود کړئ.
- Backup، .env، .git، config او SQL فایلونه web-accessible نه کړئ.
- SSL سندونه منظم تازه کړئ او HTTPS mandatory کړئ.
- په سرور کې UFW یا ورته firewall فعال کړئ، یوازې لازمي ports خلاص کړئ.
- Nginx او OS updates منظم ترسره کړئ.
- هر سایټ ته جلا access_log او error_log تعریف کړئ.
- Admin panel ته IP restriction یا اضافي authentication اضافه کړئ.
- د 777 یا overly permissive permissions څخه ډډه وکړئ.
همداراز، security headers لکه X-Frame-Options، X-Content-Type-Options، Referrer-Policy او Content-Security-Policy مناسب سایټونو کې اضافه کړئ. خو خصوصاً Content-Security-Policy باید اول test environment کې وکاروئ، ځکه چې غلط تطبیق script یا style فایلونه بلاک کوي. د امنیت لپاره نور لارښوونې د ویبسایټ امنیت کې ولولئ.
د کارکرد او SEO لپاره مهم ټکي
نګینکس سرور بلاکونه یوازې hosting نه بلکه د performance او SEO کیفیت هم ټاکي. غلط redirects، ناقص canonical انتخاب، نشت gzip یا brotli compression، لوی log فایلونه او ناکافي cache تنظیمات د سایټ چټکتیا کموي. د Google page experience signals user-centric دي؛ چټک، امن او reliable سایټونه ښه نتیجې ورکوي.
هر ډومین ته یو canonical version انتخاب کړئ. د HTTP څخه HTTPS ته، www څخه non-www ته یا برعکس، redirect باید په یو قدم کې وشي. دا باید د redirect chain نه وي لکه: http://site.com -> http://www.site.com -> https://www.site.com -> https://site.com. بلکه په یو 301 سره هدف ته لاړ شئ.
د static فایلونو لپاره cache-control headers وکاروئ. images، CSS، JS فایلونه browser کې ټاکلې موده ساتلای شي. خو، د frequent change فایلونو لپاره filename versioning یا query string وکاروئ. gzip compression د HTML, CSS, JS او JSON فایلونو bandwidth کموي. د high-traffic سایټونو لپاره Nginx microcache، FastCGI cache یا CDN کارولای شئ. د CDN او نړیوال access لپاره CDN څه دی وګورئ.
Log مدیریت او Monitoring
په multi-site hosting کې log management د ستونزو حل کلید دی. جلا log فایلونه اسانه کوي چې کوم سایټ کې څه error پېښ شو. access_log د visitor requests، error_log د configuration، permissions، missing files او upstream errors ثبتوي. 502 Bad Gateway معمولاً د PHP-FPM یا backend service ستونزه ده. 403 Forbidden د permissions یا index فایل ستونزه ده. 404 Not Found د path، rewrite یا غلط root نشانوي.
د log فایلونو نامحدود غټېدو مخنیوي لپاره logrotate تنظیم کړئ. کوچني پروژو کې daily یا weekly rotation کافی دی. د high-traffic سایټونو لپاره centralized log collection، metric monitoring او alerting پکار دي. د disk ډکیدل د Nginx log writing، database shutdown او سایټ inaccessible کیدو سبب کېږي. نو، د disk usage threshold تعریف کړئ.
عامې ستونزې او چټک حلونه
په نګینکس سرور بلاکونو کې ځینې ستونزې تقریباً هرې پروژې کې راپورته کېږي. دا پیژندل setup چټکوي.
- ډومین غلط سایټ ته مخه کوي: د server_name collisions او default server block چیک کړئ.
- 403 Forbidden: root فولډر، فایل permissions او index فایل وجود چیک کړئ.
- 404 Not Found: root path او try_files قواعد چیک کړئ.
- 502 Bad Gateway: د PHP-FPM service فعال او socket path صحیح دی؟
- SSL certificate غلط سایټ ته تعلق لري: د 443 بلاک server_name او certificate فایلونه چیک کړئ.
- Redirect loop: د HTTP-HTTPS او www redirect قواعد ساده کړئ.
- Nginx reload نشي: sudo nginx -t output کې line number مطابق syntax error حل کړئ.
تجربه لرونکو اډمینانو یو ساده checklist لري: DNS صحیح دی؟ نګینکس تنظیم فعال دی؟ root فولډر شته؟ permissions صحیح دي؟ service test شو؟ log څه وايي؟ دا ترتیب panic نه، بلکې چټک حل ته لاره جوړوي.
د production لپاره عملي checklist
د live کولو مخکې لاندې checklist سره هر سایټ verify کړئ. خصوصاً د مشتری پروژو کې دا موارد documenting د مسلکي معیار لپاره مهم دي.
- ډومین A یا AAAA record صحیح IP ته redirect شوی.
- www او non-www څخه یو canonical انتخاب شوی.
- HTTP traffic HTTPS ته د 301 سره redirect کېږي.
- SSL certificate valid دی او auto-renew فعال دی.
- هر سایټ ته جلا root او log فایل تعریف شوی.
- Nginx تنظیم sudo nginx -t سره verify شوی دی.
- backup plan تعریف شوی او restore test ترسره شوی.
- فایل permissions د least privilege مطابق دی.
- Firewall کې یوازې لازمي ports خلاص دی.
- د error logs live کیدو نه وروسته لږ تر لږه ۱۵ دقیقې monitoring شوې.
دا checklist کوچنی ښکاري، خو په واقعي پروژو کې د downtime خطر ډېر کموي. خصوصاً SSL renewal، DNS check او log monitoring اکثره hidden issues ژر پیدا کوي.
پایله
نګینکس سرور بلاکونه د څو سایټونو منظم، امن او performant hosting لپاره اساسي طریقه ده. صحیح فولډر جوړښت، جلا config فایلونه، واضح redirect قواعد، HTTPS، log جلاوالي او منظم تست سره multi-site management ډېره موثره ده. د کوچني portfolio سایټ نه تر multi-client پروژو پورې یو ډول اصول تطبیقېږي.
که نوی پروژه publish کوئ، اول ډومین، سرور resource او SSL اړتیاوې مو واضح کړئ؛ بیا له دې checklist سره نګینکس تنظیمات step-by-step جوړ کړئ. که آسان مدیریت غواړئ، د Hostragons هاستنګ پیکجونه, VPS سرور او د SSL سندونه خدمات وګورئ، او مناسب starting point انتخاب کړئ.
اکثر پوښتنې
په نګینکس سرور بلاکونو کې څو سایټونه چلولای شو؟
تکنیکي لحاظه، نګینکس سره په یو سرور کې ډېر سایټونه چلولای شئ؛ حدود اکثره د CPU، RAM، disk، traffic، database load او PHP-FPM capacity پورې محدود دي. د کمترافیک static سایټونو کې لسګونه سایټونه ممکن دي، خو د heavy WordPress یا ای-کامرس سایټونو کې لږ سایټونه بهتر دي.
هر سایټ ته جلا SSL certificate پکار دی؟
هو، که هر ډومین یا subdomain د HTTPS له لارې نشر کېږي، باید certificate کې شامل وي. جلا certificates یا SAN/wildcard certificates کارولای شئ. مهمه دا ده چې د نګینکس 443 بلاک کې درست certificate درست ډومین ته وصل وي.
د نګینکس سرور بلاک سره subdomain نشرولای شو؟
هو. لکه blog.site.com یا panel.site.com ته جلا server_name تعریف کړئ، جلا root فولډر یا backend ته واړوئ. د DNS طرف ته subdomain لپاره A یا CNAME record جوړ کړئ.
sites-available او sites-enabled فرق څه دی؟
sites-available د config فایلونو ذخیره ده؛ sites-enabled فعال configونه لري. معمولاً د sites-enabled فولډر کې symbolic link د sites-available فایلونو ته جوړېږي. دا طریقه سایټونه فعال/غیرفعال کول اسانه کوي.
که غلط سایټ خلاصېږي، ستونزه چیرته ده؟
عام علتونه: DNS غلط IP ته redirect شوی، server_name غلط دی، default Nginx بلاک request اخلي یا 443 بلاک کې غلط SSL config دی. اول DNS records، بیا nginx -t output، active sites-enabled links او access_log فایلونه چیک کړئ.