banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: tranvanminh  XML
Profile for tranvanminh Messages posted by tranvanminh [ number of posts not being displayed on this page: 2 ]
 

conmale wrote:
Có hai dạng nhu cầu và hai giải pháp khác nhau.
1. Nếu dịch vụ web chỉ có nhiều người dùng chớ không phải bị DDoS.
Cái này cần backend mạnh.
2. Nếu dịch vụ web không có nhiều người dùng nhưng có thể bị DDoS.
Cái này cần frontend mạnh.
 

DDOS hoặc phòng chống các loại tấn công chắc phải làm ở mức độ ...... nào đó thôi, chứ em chắc cũng không làm hoành tráng được như bộ phòng thủ HVA được (vì khả năng có hạn). Tăng cường QuadCore Xeon, RAM 8G rồi RAID chắc hoà bình thế giới rồi. Nhét thêm dàng iptables (anh hướng dẫn trên HVA) với bộ csr của mod_security là yên giấc luôn.

conmale wrote:
Về khoảng LB và failover thì tất cả phải là x2 theo nguyên tắc. Đối với frontends, LB và failover thì dễ nhưng backend thì hơi căng và phải áp dụng chặt chẽ biện pháp đồng bộ hoá CSDL không thì kẹt. Trong trường hợp tách rời CSDL ra thì không thể dùng UNIX domain socket (ngoại trừ dùng NFS để mount FS). 

Ngay thời điểm này em chỉ nghĩ ra vài dạng,
1. Pound + Keepalived+ SQL Cluster để LB + failover. Có điều thằng này em chỉ đọc qua chứ chưa chạy thữ, nên cũng nghi ngờ khả năng xử lý của nó thua xa nginx.
2. Dùng Nginx+fpm rồi chạy SQL Cluster (mysql cluster chẳng hạn). Thêm vào DNS Round robin, cùng lắm là kết hợp monit và giảm TTL khoản 60giây chắc cũng được.
3. Không có tiền nên như thằng F5 thì không tính vào được.
4. Dùng NFS mount lên rồi làm sao sync dữ liệu vậy anh ? Nếu dùng chung 1 DB, không có Master/Slave thì em thấy cũng kẹt.
5. Dùng dịch vụ heartbeat tạo ra mô hình Cold standby em thấy cũng hay, có điều, chạy cái này có vẻ hơi uổng resource, lỡ có bị DDOS, thằng slave đợi thằng master toi mới ngốc đầu dậy được, rồi sau đó đi đời theo thằng master luôn.

Ngồi nghĩ một hồi, trong trường hợp em chỉ có 3 server với cấu hình như trên, em thấy cái 2. hơi hợp lý, cả 3 sever đều đóng 2 la` vài trò frontend+backend, hổ trợ lẫn nhau, đề phòng khi nào toi 1 con, giảm TTL thấp xuống 1 tí để bớt thời gian bị down.

Không biết anh nghĩ sao ?

conmale wrote:
Dpm trả lời hoàn toàn chính xác.

Em có thể delare backend bao nhiêu php-fpm instances cũng được và trong location ~ .*.php$ {} thì em chỉ cần pass backend là xong. Cái em bị kẹt là syntax chớ không phải là mô hình. Anh cũng coi lướt nên không nhận ra cái mớ http em nhét vô smilie.

Với câu hỏi của em, em có thể configure nhiều backend nhưng quan trọng là những backend này ở đâu và cần làm những gì? Nếu những backend này chỉ có một mớ php đơn giản để thao tác thì nhiều backend không khác gì mấy bởi vì chính nginx có nhiều workers và php-fpm cũng có nhiều workers. Cả hai có thể handle concurrent và async requests. Cái chính là bottleneck trong việc truy vấn tới CSDL. Em có thể thiết kế để tạo ra hai backends (php-fpm engines) và mỗi backend connect đến 1 CSDL riêng biệt (nằm ở server khác) thì có thể improve rõ. Nếu csdl chạy trên cùng một server thì nên configure db connections để sử dụng luôn UNIX domain socket vì nó nhanh gọn hơn rất nhiều (cái này anh đã test nhiều lần). 


Chu choa, then chốt của vấn đề là đây, em cũng đã đang định làm thữ mà anh trả lời luôn rồi. Em cũng nghi là sẽ bị bottleneck, mà không làm thì lại chả biết làm cách nào khác, nên định nhắm mắt làm đại.

Vậy bây giờ muốn làm 2 webserver, 1DB server thì chắc tiêu bởi bottleneck rồi.

anh nói "Nếu csdl chạy trên cùng một server thì nên configure db connections để sử dụng luôn UNIX domain " socket" thì tất là chỉ chạy 1 con server, không load blance mà cũng không HA được. Cách này có thể tốt, nhưng lỡ con server này teo thi tính sao anh.

Dpm wrote:
to anh Minh: theo em hiểu thì anh đang muốn loadbalance 2 thằng php-fpm,nếu như vậy có lẽ anh nên bỏ proxy_pass trong location / đi,và loadbalance trên fastcgi_pass:

location ~ .*.php$ {
include /etc/nginx/fastcgi.conf;
fastcgi_pass backend;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;


Chào Dpm,
Cám ơn bạn đã trả lời cho mình, mình lo cái proxypass hoài mà không ngờ có thể viết thành fastcgi_pass backend;, cám ơn bạn giúp mình.

Trước khi cài thêm VM bạn cho mình hỏi, nếu có nhiều backend bên trong, nhưng vì một lý do nào đó, 1 trong số đó không access vào được thì có ảnh hưỡng gì đến client không ? Có khi nào nginx báo không thể truy cập không nhỉ.

Ngoài ra, mô hình mình đang làm hiện nay, từ kết quả benchmark cho thấy 1 nginx+fpm rất hiệu quả. Nhưng loadblance 2 thằng này thì liệu có hiệu quả hay có melit gì không nhỉ ? Hay từ ban đầu làm mô hình reverse proxy luôn ?

ps: Cám ơn anh conmale luôn, em đang làm thữ để mai mốt nhờ anh làm còn biết về nginx để ...... start/stop :-D

conmale wrote:
Có hai chuyện:

1. Nếu em đã sử dụng UNIX domain socket trong php-fpm rồi thì không thể dùng server 127.0.0.1:9000 cho "upstream backend" được vì TCP socket cho port 9000 hoàn toàn không hiện diện. Em chỉ có thể chọn UNIX domain socket hoặc TCP socket chớ không thể chọn cả hai.
 

Đúng rồi, em cũng đã kiểm tra nhưng không thấy port được mỡ.
Ok, cái này em hiểu rồi, để cho dễ hiểu, em tạm dùng 127.0.0.1:9000 để mô tả cái em muốn làm.


2. Hình như anh hiểu lầm ý em. Cấu hình ở đây em chỉ muốn chạy web service trên nginx chớ không phải dùng nginx làm proxy phải không? Nếu nginx làm web thì nó là web service chớ không phải là proxy service. Em không thể proxy vô backend vì chẳng có backend nào hết. Trong trường hợp của em, "backend" chính là php-fpm chớ không có gì khác.

Nếu em có 2 con apache bên trong thì mới sử dụng nginx làm proxy. Nếu không, không thể chính nginx làm proxy web service của nó được. 

Nếu em muốn cho nginx chạy web sever, có thể load blance cho 1 con backend bên trong thì có làm được không ạ ?Theo như anh nói, thì phải tắt chức năng proxy của nginx để nó chạy làm webserver thì mới được, nhưng để thực hiện load blance thì phải dùng đến proxypass, chỗ này em không hiểu lắm.

Nói một cách khác, bây giờ em có 1 con nginx IP của nó là 192.168.1.35 và 1 backend là 192.168.1.36.
Giờ em muốn con 192.168.1.35 có thể tự xử lý như một webserver và đồng thời nó cũng roundrobin đến 192.168.1.36 được.

Em setup nginx như thế này(em tạm dùng tcp để mô ta) ,
upstream backend {
ip_hash;
server 192.168.1.35:9000;
server 192.168.1.36:9000;
}  

Bên dưới đó có thể em setup là,
# LoadBlance to backend
proxy_pass http://backend; 

Em nghĩ FPM của 192.168.1.35 là nó phải thế này,
location ~ .*.php$ {
include /etc/nginx/fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
 

Còn bên 192.168.1.36,thì làm sao để nó nhận request của phía nginx bên 192.168.1.35 ạ ?

conmale wrote:
Em thử bỏ listen.allowed_clients = 127.0.0.1 ra khỏi www pool coi thử?

Nên tận dụng UNIX domain socket vì nó efficient hơn TCP socket.

Thử đổi trong php-fpm config
listen = 127.0.0.1:9000

thành:
listen = /path/to/a.sock


rồi trỏ nó trong nginx.conf từ:
fastcgi_pass 127.0.0.1:9000;

thành:
fastcgi_pass unix:/path/to/a.sock;
 


Em làm thành thế này,

location ~ .*.php$ {
include /etc/nginx/fastcgi.conf;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/tmp/fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
 


Trong www của php-fpm.conf thành như thế này,
[www]
listen = /tmp/fpm.sock
listen.backlog = -1
 


[root@localhost ~]# ls /tmp/
fpm.sock mapping-root scim-bridge-0.3.0.socket-0@localhost:0.0 virtual-root.1rn7IL
 


conmale wrote:
Em dùng proxy_pass http://backend; nhưng em declare "backend" ở đâu? 

Cái đoạn upstream backend trong nginx.conf không phải nó hả anh.

#
# backend
#
upstream backend {
ip_hash;
server 127.0.0.1:9000;
#server 192.168.1.36:9000;


Hiện em làm như anh nói nhưng vẫn bị error sau,

[root@localhost ~]# tail -f /var/log/nginx/access.log
192.168.1.3 - - [18/Aug/2011:15:12:55 +0900] "GET / HTTP/1.1" 502 575 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1" "-"

[root@localhost ~]# tail -f /var/log/nginx/error.log
2011/08/18 15:12:55 [error] 3445#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.1.3, server: test1, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:9000/", host: "192.168.1.35"
 


Chào cả nhà,

Nghe thiện hạ đồn nginx khá lắm nên hôm nay đang thử dùng nginx với php-fpm chạy thử dịch vụ. Sau khi cài xong benchmark khá ngon. Cũng chưa rành lắm nhưng đại khái có thể giảm được 1/2 cho đến 1/3 Ram khi thử với ab của apache.

Chạy apache với stagic HTML
Total transferred: 7499000 bytes
HTML transferred: 7227000 bytes
Requests per second: 352.94 [#/sec] (mean)
Time per request: 14.167 [ms] (mean)
Time per request: 2.833 [ms] (mean, across all concurrent requests)
Transfer rate: 2584.61 [Kbytes/sec] received
 

Chạy nginx với Stagic HTML
Total transferred: 7454000 bytes
HTML transferred: 7227000 bytes
Requests per second: 2679.47 [#/sec] (mean)
Time per request: 1.866 [ms] (mean)
Time per request: 0.373 [ms] (mean, across all concurrent requests)
Transfer rate: 19503.87 [Kbytes/sec] received 


đọc thêm 1 chút tài liệu thì thấy nginx có các ưu diểm về bảo mật cũng như cơ chế chạy nhiều process xịn? hơn hoặc tương đương với worker của apache,

vd:
+quản lý dịch vụ bằng worker rất xịn, bao gồm start/stop dịch vụ nhẹ nhàng(graceful),
+Chạy worker riêng biệt uid/gid/chroot/environment, và dùng php.ini kiểu khác,
+Khi cache opcode bị hư, sẽ tự động restart,
+Sử dụng tính năng upload xịn ,
+Xử dụng ptrace hoặc các tính năng để execute_date các php backtrace để xuất slowlog,
+Có SAPI giống như mod_status,
+Cái chổ mình thấy ghê nhất là khi cần upgrade binary của nginx, chỉ cần gửi USR2 signal nó sẽ tự động chuyển file nginx.pid thành nginx.pid.oldbin. Sau đó 2 binary sẽ chạy song song, rồi gửi winch signal thì các thread củ đang chạy sẽ tắt êm đềm. Không biết có còn nhớ vụ này khi upgrade hay không nữa.
etc....

mình thử, sửa vài phần trong php-fpm và nginx và bench thì được kết quả như sau:

/ab -n 1000 -c 20 -t 10 http://localhost/index.html

# free -m
total used free shared buffers cached
Mem: 497 346 151 0 11 126
-/+ buffers/cache: 208 289
Swap: 1027 9 1017 


avg cũng lên cao nhưng không như apache dùng prefork.

top - 17:16:48 up 7 days, 2:56, 3 users, load average: 4.12, 1.24, 0.44
Tasks: 107 total, 23 running, 75 sleeping, 8 stopped, 1 zombie
Cpu(s): 89.5%us, 4.5%sy, 0.0%ni, 0.0%id, 0.0%wa, 2.5%hi, 3.5%si, 0.0%st
Mem: 509792k total, 299092k used, 210700k free, 12056k buffers
Swap: 1052248k total, 10232k used, 1042016k free, 102124k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11823 nginx 16 0 124m 23m 15m R 63.8 4.7 0:02.69 php-fpm
11810 nginx 16 0 124m 23m 15m R 31.9 4.6 0:02.31 php-fpm
11805 nginx 16 0 124m 23m 15m R 25.9 4.6 0:03.59 php-fpm
11824 nginx 16 0 125m 23m 15m R 21.9 4.8 0:01.19 php-fpm
11806 nginx 16 0 124m 23m 15m R 19.9 4.6 0:03.96 php-fpm
11807 nginx 16 0 125m 23m 15m R 15.0 4.8 0:02.25 php-fpm
11825 nginx 16 0 125m 23m 15m R 15.0 4.8 0:01.55 php-fpm
10715 nginx 15 0 21728 2180 756 S 5.0 0.4 0:01.02 nginx
11123 mysql 15 0 452m 50m 5684 S 1.0 10.1 0:01.65 mysqld 


Chỉ có CPU tăng cao nhưng RAM thì không bị giảm quá đáng.
# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 10144 73552 54424 147776 0 0 1 3 2 16 0 0 99 0 0
31 0 10144 59592 54424 147776 0 0 0 0 2099 858 57 10 33 0 0
31 0 10144 60948 54424 147792 0 0 0 0 1744 762 94 6 0 0 0
31 0 10144 58468 54424 147868 0 0 0 4 1897 681 94 6 0 0 0
31 0 10144 59212 54424 147876 0 0 0 0 1904 842 94 6 0 0 0
34 0 10144 59708 54428 147948 0 0 0 460 1777 828 94 6 0 0 0
32 0 10144 59832 54428 147944 0 0 0 0 1785 835 94 6 0 0 0
32 0 10144 59212 54428 148020 0 0 0 0 1971 763 93 7 0 0 0
31 0 10144 59832 54428 148024 0 0 0 0 1891 896 94 6 0 0 0
31 0 10144 59708 54428 148100 0 0 0 0 2010 769 94 6 0 0 0
32 0 10144 59832 54436 148080 0 0 0 480 1943 855 93 7 0 0 0
34 0 10144 70760 54436 148232 0 0 0 0 2099 1320 92 9 0 0 0
35 0 10144 69560 54436 148444 0 0 0 0 1020 1727 95 5 0 0 0 


Cảm thấy, php-fpm rút RAM cũng khá nhiều(chạy pmap) nhưng cũng mãn nguyện với kết quả trên,bởi vì khi chỉnh sữa các parm trong php-fpm.conf, thì kết quả ab có cải thiện rỏ rệch. Có điều, khi tăng quá nhiều các trong số của ab, thì phía nginx sẽ báo Too many open files, nên mình phải tăng thêm worker_rlimit_nofile 10240; vào /etc/security/limits.conf .
cat /etc/security/limits.conf
nginx soft nofile 10240
nginx hard nofile 10240 


Nhìn tổng thể, cho thấy nginx cũng khá tuyệt, nên mình quyết dùng nginx chạy dịch vụ joomla+sql+fpm+nginx, và thữ cho nginx loadblance theo hướng dẫn trên trang của nginx http://wiki.nginx.org/NginxLoadBalanceExample). Có điều tới đây thì .... bí. Không hiểu cách ấn định backend của mình có vấn đề gì mà khi bắt đầu sử dụng proxy_pass bị báo lỗi như sau:
2011/08/18 11:36:33 [error] 2723#0: *4 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.3, server: test1, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:9000/", host: "192.168.1.35


(Đã tắt sạch iptables + selinux)
Tắt cái proxypass đi thì hoạt được bình thường, request của client chạy tới nginx và nginx đưa đến fpm ngon lành.
192.168.1.3 - - [18/Aug/2011:11:30:43 +0900] "GET / HTTP/1.1" 502 575 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1" "-"
192.168.1.3 - - [18/Aug/2011:11:30:43 +0900] "GET /favicon.ico HTTP/1.1" 404 201 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1" "-" 


Cấu hình của php 5.3.6 khi compile
#! /bin/sh
#
# Created by configure

'./configure' \
'--program-prefix=' \
'--prefix=/usr' \
'--exec-prefix=/usr' \
'--disable-debug' \
'--with-pic' \
'--disable-rpath' \
'--with-pear' \
'--with-bz2' \
'--with-exec-dir=/usr/bin' \
'--with-freetype-dir=/usr' \
'--with-png-dir=/usr' \
'--with-xpm-dir=/usr' \
'--enable-gd-native-ttf' \
'--without-gdbm' \
'--with-gettext' \
'--with-gmp' \
'--with-iconv' \
'--with-jpeg-dir=/usr' \
'--with-openssl' \
'--with-pcre-regex=/usr' \
'--with-zlib' \
'--with-layout=GNU' \
'--enable-exif' \
'--enable-ftp' \
'--enable-magic-quotes' \
'--enable-sockets' \
'--enable-fpm' \
'--with-kerberos' \
'--enable-ucd-snmp-hack' \
'--enable-shmop' \
'--enable-calendar' \
'--without-sqlite' \
'--with-libxml-dir=/usr' \
'--enable-xml' \
'--with-libdir=lib64' \
'--with-mysql' \
'--with-gd' \
'--enable-dom' \
'--enable-dba' \
'--without-unixODBC' \
'--enable-pdo' \
'--disable-xmlreader' \
'--disable-xmlwriter' \
'--with-sqlite3' \
'--disable-phar' \
'--disable-fileinfo' \
'--without-pspell' \
'--disable-wddx' \
'--with-curl' \
'--enable-mbstring' \
"$@" 


Cấu hình của php-fpm.conf
[global]
pid = /var/run/php-fpm.pid
error_log = /var/log/php-fpm.log
log_level = notice
emergency_restart_threshold = 0
emergency_restart_interval = 0
process_control_timeout = 0
daemonize = yes

[www]
listen = 127.0.0.1:9000
listen.backlog = -1
listen.allowed_clients = 127.0.0.1

listen.owner = nginx
listen.group = nginx
listen.mode = 0666

user = nginx
group = nginx

pm = dynamic
# Mấy cái này phải dựa vào kết quả của benchmark trên của ab, nên mình đưa tạm các tham số này, chạy cũng ổn.
pm.max_children = 30
pm.start_servers = 11
pm.min_spare_servers = 10
pm.max_spare_servers = 25
pm.max_requests = 500

pm.status_path = /status

request_slowlog_timeout = 2
# Cái thằng này quan trọng cực, khi default nó được set là 5? hay sao đó, nhưng chạy dịch vụ gì cũng bị timeout hay bất ổn định, nên phải set thành 10. Bà con nào chạy dịch vụ nào cùng với SQL thì để ý.
request_terminate_timeout= 10
slowlog = /var/log/$pool.log.slow

# do phpinfo() cảnh báo nên phải set cho nó, không có gì đâu.
php_admin_value[date.timezone]=Asia/Tokyo
 


Cấu hình của nginx.conf (nginx/0.8.54)
Hiện backend mình chỉ để 1 server, nhưng do lỗi trên nên không hoạt động được. Không biết có cần phải làm gì thêm để nginx có thể proxy_pass có thể round robin khi có php-fpm đến 2 server không.
#
user nginx;
worker_processes 2;
# Log file of nginx
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
}

#----------------------------------------------------------------------
# HTTP Core Module
#
# http://wiki.nginx.org/NginxHttpCoreModule
#
#----------------------------------------------------------------------

http {
include /etc/nginx/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"';

access_log /var/log/nginx/access.log main;

sendfile on;
keepalive_timeout 0;

#Gzip
gzip on;
gzip_http_version 1.0;
gzip_disable "MSIE [1-6]\.";
gzip_disable "Mozilla/4";
gzip_comp_level 2;
gzip_vary on;
gzip_proxied any;
gzip_buffers 4 8k;
server_names_hash_bucket_size 128; # 32/64/128

# Proxy cache (FastCGI)
proxy_buffering on;
proxy_buffer_size 8k;
proxy_buffers 100 8k;
proxy_cache_path /var/cache/nginx/nginx_cache levels=1:2 keys_zone=czone:4m max_size=50m inactive=120m;
proxy_temp_path /var/cache/nginx/nginx_tmp;
proxy_connect_timeout 60;
proxy_read_timeout 90;
proxy_send_timeout 60;
proxy_cache_valid 200 2h;
proxy_cache_valid 302 2h;
proxy_cache_valid 301 4h;
proxy_cache_valid any 1m;

#
# set header
#
proxy_set_header Host $http_host;
proxy_set_header X-Remote-Addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#
# backend
#
upstream backend {
ip_hash;
server 127.0.0.1:9000;
# server 192.168.1.36:9000;
}

#
# The default server
#
server {
listen 80;
server_name test1;

root /opt/public_html;
index index.php;

# Support Clean (aka Search Engine Friendly) URLs
location / {
# try_files $uri $uri/ /index.php?q=$request_uri;

# LoadBlance to backend
proxy_pass http://backend;
#proxy_cache_key $scheme://$backend$request_uri$is_args$args;

}

index index.php index.html index.htm;

# deny running scripts inside writable directories
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}

# The parameter fastcgi_pass is set to 127.0.0.1:9000, corresponding to the port that fpm is configured to listen to.
location ~ .*.php$ {
include /etc/nginx/fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

# caching of files
location ~* \.(ico|pdf|flv)$ {
expires 30d;
}

location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 7d;
}

}

# Load config files from the /etc/nginx/conf.d directory
include /etc/nginx/conf.d/*.conf;


Cám ơn đã chú ý.
Sao không dùng CentOS6 luôn ?
Mỗi lần HVA gặp nạn là chạy ra một đống anh em, chiến hữu rút đao tương trợ.

HVA nên bị DDOS nhiều thì mới nhộn nhịp, xôm tụ được.

(mình không nói nhảm nha, mình đang phân tích tính chất vài trận DDoS HVA vừa qua à )

smilie
He he, cái botnet mới này đấm không nhanh và nhiều như cái cũ mà đấm chậm, chắc và âm ỉ, kiểu như bên ngoài không thấy bị trầy xước nhưng bên trong lục phủ ngũ tạng bị bấy nhầy vậy . Đúng là anh em ta chủ quan quá. Cứ nhắm vô cái botnet đã lộ để phòng thủ nên bị chết là phải. 


Anh mô tả mà em đọc như chiêu "Đại lực kim cương chỉ" của thiếu lâm smilie)
ít ra cũng ... Thanh Niên giùm cái cho đỡ thẹn hehe
JAL dang o VN roi ban oi
2 tranvanminh: anh viết toàn bộ buồn cười hay anh khoe nó buồn cười. 


Dạ, là như anh conmale trình bày, thấy vui với cách hành văn của anh thôi, chứ không phải nói nội dung kỹ thuật của anh buồn cười (mà thật ra là em hoàn toàn không hiểu về kỹ thuật anh viết ) .

Thân mến.
Khoe một chút: Thấy font và color của OllyDbg em đang dùng đẹp không. Font: Raize, color: Alex Black. 


Đọc mà chỉ buồn cưới smilie
Mình định đọc sơ qua phần 1 thôi, mà đọc một hồi thì đã xong phần 3 .
Cám ơn bản đã bỏ công viết giới thiệu MS cụ thể, chính xác và đầy đủ .

Thân
Cái này là facebook của bạn xnohat, đâu phải của HVA đâu chờy .
Đã giải quyết, như anh conmale nói, tại gw nó có cái gì đó chặn lại .

Em dùng máy ảo đã xác nhận được cấu hình không sai .

Cám ơn cả nhà.
Hì, cám ơn nhiều nha.
Để mình test lại trên virtual box xem, chắc là config không sai thì mới dám mạnh dạng đem vào môi trường chính chạy ^^

tranhuuphuoc wrote:
Thử chỉ định dòng listen_addresses='*' thành listen_addresses='113.110.220.10' và restart lại Postgresql thử xem coi còn có hiện tượng này không. Lão cho xem mấy cái log để tìm nguyên nhân thử.

 


Mình thử cách đó rồi, không hết bệnh bác ạ. Rồi thử chuyển SSH sang port 5432 thì cũng không chạy được (22 thì OK) . Chắc nó có firewall ở GW của cái dịch vụ hosting chổ mình, nên không vào được.

anh conmale :

Em dump nó không ra gì thiệt, chắc là cái server VPS kia ở GW nó có cái gì đó rồi . Chắc được là không phải tại config của mình là được, để em tạo máy ảo check lại xem, nếu nó chạy được thì Ok.

Cám ơn anh.

Chào cả nhà,

Mình lại bị bí về vấn đề kết nối từ remote đến postgresql, không biết nhà mình có ai rành vụ này thì xin ý kiến. Hiện mụốn tuy cập từ một Server nằm ngoài internet (global IP) đến server chạy dịch vụ postgresql nhưng không thực hiện được.
Mình cài postgresql8.1.22 trên centos5, thông tin config như sau:

/var/lib/pgsql/data/pg_hba.conf
host all all 0.0.0.0/0 trust 

/var/lib/pgsql/data/postgresql.conf
listen_addresses = '*'
port = 5432  


Sau đó restart SQL và kiểm tra bằng netstat .
/etc/rc.d/init.d/postgresql start
 


[root@hva minh]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN
 


Ghi chú : iptables đã được tắt, và máy chủ của postgresql không có firewall nào nằm ở ngoài cả , phía client thì cũng tắt firewall, và antivirus nhưng cũng không có tác dụng.
Giống đăng tin mất CMND quá , hehe
Khắc phục được sự có chứ anh, con server đó cho em cũng không thèm, mang về kiểm tra HW rồi cũng phải bê đi cho người ta dùng chứ em đâu có được dùng nó để chat hay chít đâu ạ smilie

Sướng là vì bình thường dùng net, nó không bị gì cũng chê lên chê xuống, nhưng mà khi bị sự cố rồi mới biết không có nó thì mình khổ bao nhiêusmilie chỉ là cảm nhận nhỏ nhoi thôi anh hehe
Báo cáo,

Sau những ngày vật lộn với HP, chính thức có kết quả NIC bị hư .

Hôm nay nhân viên HP đến thay mainboard thì đã hoạt động lại được, không ngờ có net lại sướng như thế này .

conmale wrote:

tranvanminh wrote:

conmale wrote:

tranvanminh wrote:
Dạ đây anh ,

driver : bnx2
vesion: 2.0.8-rh
firmware-version : bc 5.2.3 NCSI 2.0.6
bus-info : 0000:04:00.0

Anh nói vậy làm em nghi ngờ quá, chắc thàng của em cũng dính chưỡng rồi smilie(  


Phương án 1:

Vô đây download driver từ chính broadcom và tải về cái pdf hướng dẫn để cài driver lại: http://www.broadcom.com/support/ethernet_nic/netxtremeii.php


Phương án 2:

Download vanilla kernel mới hơn và compile lại kernel. 


Em làm cả 2 phương án , kết quả cũng không thay đổi anh ơi .

Phương án 1 : Khi compile source ra có bị lỗi, nhưng sữa code của nó cho nó compile được nhưng không modprobe nó được , lỗi này em chưa copy lại, nếu anh cần thì em làm lại (File bnx2.h, hàm VLAN_GROUP_ARRAY_SPLIT của broadcom và kernel trùng nhau, nên phải comment out từ include/bnx2.h, source của kernel thì mới make được).
Phương án 2 : Sau khi compile kernel, kết quả của ethtool cho thấy driver có thay đổi version nhưng vẫn bị .
driver : bnx2
vesion: 2.0.17
firmware-version : bc 5.2.3 NCSI 2.0.6
bus-info : 0000:04:00.0
 


uname -r
2.6.36.1 

 


Vậy thì có thể chính network card đó có vấn đề rồi. Em thử thay network card vô coi có ok không? 


Em da~ giai quyet cai nay roi a.

NIC co 4 ports, em thu enable len het thi eth3 la.i len, sau do dieu tra thi em biet duoc MAC cua eth0 da bi doi (noi dung file config bi doi) qua eth3 nen no moi len, do do' eth0 khong boot len duoc .

Nguyen nhan noi dung file config cua eth0 bi thay doi thi lai khong ro lam.

Da giai quyet duoc van de, cam on anh conmale va quanta .


switchroot: mount failed: No such file or directory ... Kernel panic - not syncing: Attempted to kill init
 

Từ dòng kernel 2.6.25 là có vụ này, bạn compile 2.6.3x thì phải cho nó support udev , phải làm các bước sau, mình vừa bị dính xong, chia sẻ cho bạn .

1. Lấy config từ kernel đang chạy
cp /boot/config-2.6.18-194.11.3.el5 .config
2. Sử dụng nó
make oldconfig (Nó hiện lên màng hình đối thoại thì cứ bấm Enter riết)
3. make menuconfig
Kernel panic là do thằng này, nên bạn cần phải enable chức năng này .
[General setup]-[enable deprecated sysfs features to support old userspace tools]
(Nếu config trực tiếp thì vào file .config, CONFIG_SYSFS_DEPRECATED_V2=y)
Chọn các mục trong này để nó support iptables , nếu không biết thì cứ chọn hết .
[Networking support]-[Networking options]-[Network packet filtering framework (NetFilter)]-[Core Netfilter Configuration]
[Networking support]-[Networking options]-[Network packet filtering framework (NetFilter)]-[IP: Netfilter Configuration]
[Networking support]-[Networking options]-[Network packet filtering framework (NetFilter)]-[IPv6: Netfilter Configuration]

4. make bzImage modules modules_install
5. make install
6. Vào grub để chọn default kernel để boot

Mình chỉ compile được trên kernel 2.6.36.4, còn 2.6.37.1 thì chưa làm được . Vẫn bị panic .

conmale wrote:

tranvanminh wrote:
Dạ đây anh ,

driver : bnx2
vesion: 2.0.8-rh
firmware-version : bc 5.2.3 NCSI 2.0.6
bus-info : 0000:04:00.0

Anh nói vậy làm em nghi ngờ quá, chắc thàng của em cũng dính chưỡng rồi smilie(  


Phương án 1:

Vô đây download driver từ chính broadcom và tải về cái pdf hướng dẫn để cài driver lại: http://www.broadcom.com/support/ethernet_nic/netxtremeii.php


Phương án 2:

Download vanilla kernel mới hơn và compile lại kernel. 


Em làm cả 2 phương án , kết quả cũng không thay đổi anh ơi .

Phương án 1 : Khi compile source ra có bị lỗi, nhưng sữa code của nó cho nó compile được nhưng không modprobe nó được , lỗi này em chưa copy lại, nếu anh cần thì em làm lại (File bnx2.h, hàm VLAN_GROUP_ARRAY_SPLIT của broadcom và kernel trùng nhau, nên phải comment out từ include/bnx2.h, source của kernel thì mới make được).
Phương án 2 : Sau khi compile kernel, kết quả của ethtool cho thấy driver có thay đổi version nhưng vẫn bị .
driver : bnx2
vesion: 2.0.17
firmware-version : bc 5.2.3 NCSI 2.0.6
bus-info : 0000:04:00.0
 


uname -r
2.6.36.1 

Em cám ơn anh, em sẽ làm thữ và sẽ báo kết quả lên đây cho mọi người tham khảo .

Minh
Dạ đây anh ,

driver : bnx2
vesion: 2.0.8-rh
firmware-version : bc 5.2.3 NCSI 2.0.6
bus-info : 0000:04:00.0

Anh nói vậy làm em nghi ngờ quá, chắc thàng của em cũng dính chưỡng rồi smilie(
 
Go to Page:  First Page Page 1 3 4 5 Page 6 Last Page

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|