วิธีติดตั้ง + config NGINX แบบไม่ต้องยุ่งอะไรกับ DA เลย ไม่ต้อง Run Cron, ไม่แก้ unlimit, รูปขึ้นทุกเว็บ

100 กว่าถือว่าน้อยครับ. ของผม 700 ขึ้นไป รูปขึ้นหมดนะ (ใช้ Ram ทั้ง Server ไป 3.x GB จาก 16 GB)

ด้านล่างคือหน้าดู nginx_status ของผมในวันธรรมดา จ.-ศ.

Active connections: 748

server accepts handled requests

5138485 5138485 17856128

Reading: 21 Writing: 19 Waiting: 708

ลองดูที่ nginx.conf ก่อนครับว่าตั้งผิดตรงไหน

ขอบคุณเฮิฟ

ถึงขั้นตอนที่ 4 แล้วขึ้นแบบนี้ครับ

#service nginx restart

env: /etc/init.d/nginx: No such file or directory

ของผมขึ้นแบบนี้ เหมือนมัน start ไม่ได้ T T

สร้าง nginx ไว้ใน /etc/init.d/ แล้วหรือยังครับ

ขอบพระคุณค่ะ กำลังหาบทความอยู่พอดีเลยค่ะ

ขอบคุณครับ ได้ทำตามวิธีที่ลงใว้ทุกอย่างสามารถใช้งานได้จริง

ขอบคุณสำหรับข้อมูล

ขอแสดงความคิดเห็นหน่อยนะครับ

ถ้าจะใช้ nginx เป็น caching บนเครื่องเดียวกัน ที่มี backend เป็น apache

ผมว่าไม่ช่วยอะไรมากครับ จะช้ากว่าเดิมด้วย เพราะว่าต้องวิ่งเพิ่มอีก hop ถึงแม้

จะเป็นเครื่องเดียวกันเองก็ตาม … จริงๆ apache ก็ cache ได้นะครับ …

แต่ถ้ามีหน้า static content (.html,.jpg,.gif,.css) มากๆ ใช้ varnish cache

จะดีกว่าครับ VCL เขียนได้ละเอียดกว่า nginx มากครับ

ขอบคุณครับ ต้อง ขอไปลองตามคำแนะนำเสี่ยต้นแล้วครับ

ติดตั้งเสร็จเรียบร้อยแล้วครับ แต่พบว่า

พอสั่ง Restart apache เจอ คำเตือนนิดนึงครับ

[root@sv4 ~]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [Sat Jun 02 12:43:42 2012] [warn] module rpaf_module is already loaded, skipping

ไม่แน่ใจว่าตรงที่ warn ผมทำอะไรผิดพลาดครับ
รบกวนช่วยแนะนำหน่อยนะคร้าบบ

ขอบคุณมากครับ

:875328cc:

mod โหลดแล้วจึงไม่ โหลดซ้ำ ไม่มีอะไร

ขอบคุณมากๆ ครับ คู่มือเขียนได้ละเอียดมากๆ เลย :baa60776:

ขอบคุณครับ

ขอบคุณครับ กำลังลองติดตั้งดูครับ อิอิ

ยาวมากกก ลงชื่ออ่านจบหละ goooddddddd

เสนอ ปักหมุด ครับ :slight_smile:

รอปรับปรุงเนื้อหาก่อนดีกว่าครับ. nginx มีการปรับ เวอร์ชั่น และรายละเอียดบางส่วนไม่เหมือนเดิม. ยังไม่มีเวลา rewrite เลยครับ. ต้องรอสักพัก.

ลองติดตั้ง แล้วใช้งานมาสักพักนึง

แบบใช้ apf forward จาก apache 80 ไป nginx 85

config ตามตัวอย่างในหน้าแรกเลยครับ แก้เฉพาะ ส่วน IP ที่ให้แก้

วันนี้มาลองสักเกตุดู Apache Extended Status พบว่ามารูปโผล่มาครับ พวกไฟล์ jpg png gif
เหมือนว่า apache ยังจัดการเรื่องรูปอยู่ เลยอยากสอบถามว่า ปกติแล้วมันต้องไม่ขึ้นมาแสดงที่ Apache รึเปล่าครับ

domain.com   GET /wp-content/plugins/global-translator/flag_ms.png HTTP/1.0
domain.com   GET /wp-content/plugins/global-translator/flag_is.png HTTP/1.0
domain.com   GET /wp-content/plugins/global-translator/flag_fi.png HTTP/1.0
domain.com   GET /data/attachment/forum/201209/08/223756httltz376lluc966.jpg
domain.com   GET /wp-content/uploads/2013/01/favicon52.gif HTTP/1.0
domain.com   GET /Company/Include_file/Image/logo_ofc.gif HTTP/1.0

ขอบคุณมากครับ :875328cc:

แสดงว่า config ผิดละครับ

iptables เปิดใช้งานอยู่หรือเปล่าครับ

เปิดครับใช้ apf แทน
ถ้าลอง stop service nginx จะเข้าเว็บไม่ได้เลยครับ

config ที่ผมตั้งค่าเป็นแบบนี้ครับ ไม่รู้ว่าพลาดตรงไหน

user apache apache; 


worker_processes 1; # Set it according to what your CPU have. 4 Cores = 4
worker_rlimit_nofile 8192;


 
pid /var/run/nginx.pid;


 
events {
worker_connections 1024;
}


 
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
 


server_tokens off;
access_log off;
error_log /var/log/nginx/error_log crit;
 


server_names_hash_bucket_size 64;
sendfile on;
tcp_nopush on;
tcp_nodelay off;
keepalive_timeout 30;
gzip on;
gzip_comp_level 9;
gzip_proxied any;
 


proxy_buffering on;
proxy_cache_path /usr/local/nginx/proxy_temp levels=1:2 keys_zone=one:15m inactive=7d max_size=1000m;
proxy_buffer_size 16k;
proxy_buffers 100 8k;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
 


server {
listen 111.222.111.222:85 default rcvbuf=8192 sndbuf=16384 backlog=32000; # Real IP here
server_name domain.name _ ; # "_" is for handle all hosts that are not described by server_name
charset off;
access_log /var/log/nginx/nginx_host_general.access.log main;
location / {
 


proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://111.222.111.222; # Real IP here
 


client_max_body_size 16m;
client_body_buffer_size 128k;
proxy_buffering on;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 120;
proxy_buffer_size 16k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}




#some bot does not send user-agent, just block them
if ($http_user_agent = "") {
    set $proxyflag "forbidden";
    return 403;
}




#security for timthumb remote code execution exploit
if ($request_uri ~* "\.php.*src=.*(flickr\.com|picasa\.com|blogger\.com|wordpress\.com|img\.youtube\.com|upload\.wikimedia\.org|photobucket\.com|imgur\.com|imageshack\.us|tinypic\.com)") {
    set $proxyflag "forbidden";
    return 403;
}




#cached folder should not have any php file
if ($request_uri ~* "/cache/.*\.php") {
    set $proxyflag "forbidden";
    return 403;
}




#bad behavior url (known botnet/trojan)
if ($request_uri ~* "\?.*eval\(") {
    set $proxyflag "forbidden";
    return 403;
}
if ($request_uri ~* "act=phptools") {
    set $proxyflag "forbidden";
    return 403;
}




#sql injection tools
if ($http_user_agent ~* "Havij") {
    set $proxyflag "forbidden";
    return 403;
}
if ($http_user_agent ~* "^sqlmap/") {
    set $proxyflag "forbidden";
    return 403;
}


 
location ~* ^/(squirrelmail|uebimiau|roundcube)/.+\.(jpg|jpeg|gif|png|ico|css|zip|tar|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|wmv|avi|cur|swf|mp3|wma|htc|cur)$ {
root /var/www/html/;
expires 30d;
access_log off;
}
 


location ~* ^/(stats)/.+\.(jpg|jpeg|gif|png|html|htm)$ { 
root /var/www/html/;
access_log off;
}
 


location ~* ^/(imrtg)/.+\.(jpg|jpeg|gif|png|html|htm)$ {
root /var/www/html/;
access_log off;
}
 


location /nginx_status {
stub_status on;
access_log off;
allow all; # Real IP here
allow 127.0.0.1;
}




}
 
 
include /usr/local/nginx/etc/*.conf;
}