سلام دوستان . سوالات و مشکلات بخش" آموزش هایی از وب سرور nGinx - مبتدی تا پیشرفته" به آدرس
http://www.webhostingtalk.ir/f175/28822/
را در این بخش بپرسید .
از مدیران خواهش میکنم این تاپیک را پاک نکنند تا نظم اون تاپیک به هم نریزه
با تشکر
علی فتاحی
نمایش نسخه قابل چاپ
سلام دوستان . سوالات و مشکلات بخش" آموزش هایی از وب سرور nGinx - مبتدی تا پیشرفته" به آدرس
http://www.webhostingtalk.ir/f175/28822/
را در این بخش بپرسید .
از مدیران خواهش میکنم این تاپیک را پاک نکنند تا نظم اون تاپیک به هم نریزه
با تشکر
علی فتاحی
برای تبدیل یک فایل htaccess. نیاز به کمک داشتم شما میتونید این رو به nginx تبدیل اش کنید:
تشکرکد PHP:
DirectoryIndex index.php
FileETag none
ServerSignature Off
Options All -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([0-9a-zA-Z]{1,6})$ links/?to=$1 [L]
RewriteRule ^([0-9]{1,9})/banner/(.*)$ links/?uid=$1&adt=2&url=$2 [L]
RewriteRule ^([0-9]{1,9})/(.*)$ links/?uid=$1&adt=1&url=$2 [L]
</IfModule>
اینم از فایل .htaccess شما :
یادتون باشه ماژول Etag مربوط به nginx رو نصب کنید در غیر اینصورت FileETag none کار نمیکنه !کد:http
{
server_tokens off
server
{
listen 80;
server_name _;
rewrite ^([0-9a-zA-Z]{1,6})$ /links/?to=$1 last;
rewrite ^([0-9]{1,9})/banner/(.*)$ /links/?uid=$1&adt=2&url=$2 last;
rewrite ^([0-9]{1,9})/(.*)$ /links/?uid=$1&adt=1&url=$2 last;
}
location \
{
index index.php;
FileETag none;
}
}
با سپاس فراوان از راهنمایی شما
باز هم من سوال دارم اگر اشکالی نداره
یک برنامه تحت وب هست که با cakephp نوشته شده و برای اجراش نیاز به 3 فایل htacsess. داره که باید در 3 شاخه به ترتیب : root و بعدی در پوشه app و بعدی در پوشه app/webroot قرار بگیرند در سرور آپاچی تا اجرا شوند.
البته ظاهرا برای پروژه هایی که از فریم ورک کیک استفاده میکنند باید این تنظیمات انجام داده بشن
حالا من که وب سرور ام nginx هست به چه نحوی باید این تنظیمات رو در nginx انجام بدم؟
root or main folder .htaccess file here:
app folder .htaccess file here:کد PHP:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
app/webroot folder .htaccess file here:کد PHP:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
در آینده هر وقت که شد اگر قوانین این تبدیلات رو آموزش بدین خیلی عالی میشهکد PHP:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
سلام . نه اشکالی نداره . باز هم سوالی بود بپرسید .
اینم از rewrite شما
در مباحث پیشرفته حتما در مورد تبدیل از Apache به Nginx صحبت خواهد شد .کد:server
{
listen 80;
server_name yoursite.com;
access_log /var/www/logs/yoursite.access.log main;
error_log /var/www/logs/yoursite.error.log info;
rewrite_log on;
# rewrite rules for cakephp
location / {
root /var/www/sites/yoursite.com/app/webroot;
index index.php index.html;
# If the file exists as a static file serve it
# directly without running all
# the other rewite tests on it
if (-f $request_filename) {
break;
}
if (!-f $request_filename) {
rewrite ^/(.+)$ /index.php?url=$1 last;
break;
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME \
/var/www/sites/yoursite.com/app/webroot$fastcgi_script_name;
include fastcgi_params;
}
}
با سپاس از راهنمایی تون.
امروز میخوام نظرتون رو در مورد نصب Suhosin-Extension برای محاظت از کد php بر روی وب سرور nginx بدونم, چرا که مقداری سرعت رو کاهش میده در مقابل افزایش امنیت.
شما استفاده از این اکستنشن رو بر روی nginx توصیه می کنید ؟
بازهم سپاس
-----
برای سایر دوستان هم که شاید نا آشنا باشند لینک سایت رو قرار میدیم: http://www.hardened-php.net/suhosin
بله , بزودی تست میکنم و نتیجه اینجا میگم راهنمای نصب رو هم در صورت تمایل سایرین قرار میدم.
می تونین طرز کانفیگ Nginx برای Rapidleech هم بزارین لطفا
کانفیگ nGinx با php 5.3 اومده ؟
من nginx رو نصب کردم، راحت هم اجرا شد...
اما مشکل اینجاست که وقتی phpinfo می گیریم SERVER_SOFTWARE رو Apache نشون می ده.
ممنون می شم کمکم کنید
سلام.
ممنون از آموزش عالیتون .
شما برای استفاده از nginx نسخه اصلی ، کدام کنترل پنل رو توصیه میکنید؟
برای کلکسو جواب داده ؟ اخه من نصب کردم نتونستم سایت باهاش بالا بیارم.
service httpd stop
service nginx restart
---------- Post added at 04:01 AM ---------- Previous post was at 03:59 AM ----------
سلام
خواهش میکنم
من خودم از Kloxo استفاده کردم و مشکلی نداشتم . باید درست کانفیگ کنید و virtual host ها رو هم دستی بسازید چون خود Kloxo نمیسازه .
با درود
چطور می شه nginx رو آپدیت کرد؟ (از 0.8.54 به 1)
پ.ن: یکی از دوستان گفت از yum update استفاده کنم؛ اما باز nginx آپدیت نشد...
این کار رو انجام دادم و نصب شد، اما باز nginx قبلی میومد بالا...
nginx قبلی رو پاک کردم و جدید رو ریختم، اما دیگه به عنوان سرویس نمی شناسه...
حتی قبلی رو هم که نصب می کنم باز نمی شه استارت کرد:
لطفا کمک کنید.کد PHP:
nginx: unrecognized service
با سپاس
---------- Post added at 03:59 PM ---------- Previous post was at 03:39 PM ----------
با استفاده از yum نصب کردم.
تو یه سایت خارجکی هم یه چیزایی برای آپدیت nginx پیدا کردم:
کد PHP:
yum --enablerepo=CentALT update nginx
nano -w /etc/init.d/nginx
بعد
بعدکد:#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# ***** and IMAP/POP3 ***** server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
بعد همکد:chmod +x /etc/init.d/nginx
کد:/etc/init.d/nginx start
سلام
من ورژن 1.0.6 را نصب کردم
ظاهرا درست نصب شده ولی چطوری باید باهاش کار کرد با دستور زیر
service nginx start
که زدم کار نکرد با اموزشی که دادید در
init.d
یک فایل متنی برای nginx ساختم و دستورهای زیر را میزنم
service nginx start
stop
status
هیچ کدام خروجی ندارد
اگر امکانش است روش نصب به طور کامل را هم بگید که دوباره نصب کنم
لطفا راهنمایی کنید با تشکر
---------- Post added at 05:43 PM ---------- Previous post was at 05:22 PM ----------
سلام
این مشکل را حل کردم فقط الان وقتی سایت را باز میکنم میزنه
Welcome to nginx!
و لینک ها هم کار نمیکنند
چاره چیست؟
---------- Post added at 06:05 PM ---------- Previous post was at 05:43 PM ----------
ظاهرا باید
vhost
تعریف شود برای هر یوزر این کار چگونه قابل انجام است؟
سلام
بعد از نصب و کانفینگ nginx چند در صد احتمال به هم ریختن سایت ها هست ؟
و اینکه انگار htacsess. باید روی همه سایت ها تغییر کنند ؟ و این تغییر به چه صورته ؟
ممنون می شم یه توضیحی در مورد تغییرات بعد نصب اینکنس بدید .
سلام
ببینید سایت ها که به هم نمیریزن الکی . مگر اینکه از htaccess استفاده کنند که بعد از nginx در حالت معمول لینک های سایت از کار می افته که باید rewrite های اون رو برای Nginx نوشت ضمن اینکه rewite برای بعضی از سی ام اس ها مثل وردپرس و جوملا و... موجود هست و نیازی به بازنویسی توسط شما نداره .
حالا اگه میخوای rewtite های دیگه رو بازنویسی کنی میتونی از لینک زیر کمک بگیری
HttpRewriteModule
و
Converting rewrite rules
در کل اگه rewrite ها رو درست بنویسی هیچ مشکلی برای سایت ها پیش نمیاد ;)
---------- Post added at 06:57 PM ---------- Previous post was at 06:53 PM ----------
سلام
از nginx اسکریپت که در چند پست قبل نوشتم استفاده کنید درست میشه .
برای welcome to nginx هم اگه virtual host ها رو تعریف کنید درست میشه
سلام
اون مشکل را 2 روز پیش حل کردم الان مشکل من اجرا نشدن فایل های php است این فایل را برای دانلود میدهد لطفا راهنمایی کنید
ابتدا php-fpm رو نصب کنید
کد:rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
سپس در تنظیمات nginx در بلاک server مربوط به virtual host اون سایت این کد رو وارد کنیدکد:yum -y --enablerepo=webtatic install php-fpm
یادتون نره /home/foo/path رو ویرایش کنید .کد:location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/foo/path$fastcgi_script_name;
include fastcgi_params;
}
انجام دادم و بعد ریستارت وب سرور ارور زیر امد
nginx: [emerg] unknown directive "fastcgi_pass" in /etc/nginx/vhosts/ariyaserver.in:40
nginx: configuration file /etc/nginx/nginx.conf test failed
سلام اون مشکل رفع شد ولی وقتی فایل پی اچ پی اجرا میکنم این ارور زیر میاد
The page you are looking for is temporarily unavailable.
Please try again later.
2011/09/05 08:45:07 [error] 11431#0: *2 connect() failed (111: Connection refused) while connecting to upstream, client:xxx.xxx.xx.xxx, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "username"
با سلام
ali_fattahi عزیز اگه امکانش هست یه سری کد htaccess هست که میخواستم به nginx تبدلیش کنی:
کد PHP:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^images/.*.jpg$ /errors/default.jpg [L]
ErrorDocument 404 /errors/404.php
ErrorDocument 400 /errors/404.php
ErrorDocument 401 /errors/index.html
ErrorDocument 403 /errors/index.html
ErrorDocument 500 /errors/500.php
RewriteCond %{HTTP_HOST} ^yourwebsite\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.yourwebsite\.com$
RewriteRule ^errors\/404\.php$ "http\:\/\/yourwebsite\.com\/" [R=301,L]
سلام
مشکل من رفع شد لازم به جواب دادن نیست
خیلی ممنون
با سلام
آقای فتاحی اگه براتون مقدوره کد های htaccess زیر را به Nginx تبدیل کنید ممنون میشم چون واقعا خیلی برام ضروری هستش:-s :
کد PHP:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^images/.*.jpg$ /errors/default.jpg [L]
ErrorDocument 404 /errors/404.php
RewriteCond %{HTTP_HOST} ^yourwebsite\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.yourwebsite\.com$
RewriteRule ^errors\/404\.php$ "http\:\/\/yourwebsite\.com\/" [R=301,L]
---------- Post added at 03:28 PM ---------- Previous post was at 03:14 PM ----------
کدی را که در پست قبل گذاشتم یکی از دوستان محبت کردن و به Nginx تبدیل کردن اما نمیدونم چرا کار نمی کند اگه یه لطفی کنید و بررسی کنید ببینید مشکل از کجاست ممنون میشم :
کد PHP:
error_page 404 /errors/404.php;
if ($http_host ~ "^yourwebsite\.com$"){
set $rule_0 1;
break;
}
if ($http_host ~ "^www\.yourwebsite\.com$"){
set $rule_0 1;
break;
}
if ($rule_0 = "1"){
rewrite ^/errors\/404\.php$ /"http\:\/\/yourwebsite\.com\/" permanent;
break;
}
if (!-f $request_filename){
set $rule_1 1$rule_1;
}
if ($rule_1 = "1"){
rewrite ^/images/.*.jpg$ /errors/default.jpg last;
}
سلام
بعد از زدن دستور make این ارور رو میده:
کد:make: *** No rule to make target `build', needed by `default'. Stop.
با سلام
متاسفانه به مشکلی عجیبی برخوردم و اونم اینه که در هنگام ترنسفر با اسکریپت رپیدلیچ php-fpm یا spawn-fcgi سی پی یو به شدت درگیر میشه و تفریبا سیستم دان میشه...
جهت اطلاع اینم اضافه کنم هیچ تاثیری در مقدار مصرفی رم نمیزاره و من همین طور apc و memcache رو هم اضافه کردم... ولی هیچ تغییری خاصی احساس نکردم
ممنون میشم دوستان راهنماییم کنن
مشکل از انجینکس نیست . مشکل از یه چیز دیگست . مشخصات سرورت رو بده + کانفیگی که انجام دادید .
اینم رو ببینید :
http://www.webhostingtalk.ir/f175/57561/
با سلام
می خواستم ببنیم که آیا میشه ریپدلیچ روی وب سرور Nginx که از فایل های .Htaccess ساپورت نمی کنه نصب کنم؟؟؟
اگر میشه یک راهنمایی یا یک رفرنس خوب معرفی کنید.
اگر نمیشه خواهشا یک اسکریپت معرفی کنید که بتونم بااون از لینک هایی که USer و Pass می خوان فایل لیچ کنم!!!!(با Wget تست کردم ولی برای تمامی سایت هایی که USer و Pass می خوان جواب نمیده)
متشکرhttp://forum.dverleech.com/images/smilies/bo.gif