Kênh Giải Pháp VN - Công Nghệ Máy Chủ Mạng - Giải Pháp Máy Chủ - Giải Pháp Mạng Doanh Nghiệp - Tư Vấn Giải Pháp Mạng Máy Chủ - VN Solutions Channel :: Cài đặt Nginx trên Ubuntu 11.10 - Cai dat Nginx tren Ubuntu 11.10
Quản Trị  Hệ Điều Hành Linux - Unix
 
Cài đặt Nginx trên Ubuntu 11.10
08:32 | 29/10/2011

Nginx được biết đến bởi sự ổn định cao, nhiều tính năng, cấu hình đơn giản và tiết kiệm tài nguyên. Trong bài viết sau chúng tôi sẽ hướng dẫn các bạn cài đặt Nginx trên máy chủ Ubuntu 11.10 với PHP5 (thông qua PHP-FPM) và hỗ trợ MySQL.

1. Một số lưu ý

Phần minh họa dưới đây chúng tôi sử dụng hostname server1.example.com với địa chỉ IP là 192.168.0.100. Bạn chú ý thay đổi sao cho phù hợp với mình.

Các lệnh cần được chạy với quyền root, do đó hãy trở thành root bằng cách thực thi lệnh:

sudo su

2. Cài đặt MySQL 5

Để cài đặt MySQL bạn chạy lệnh sau:

apt-get install mysql-server mysql-client

Tiếp theo bạn sẽ được yêu cầu cung cấp một mật khẩu cho user MySQL root. Đây sẽ là mật khẩu có giá trị cho user root@localhost cũng như root@server1.example.com:

New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword

3. Cài đặt Nginx

Nginx có sẵn trong gói dành cho Ubuntu 11.10, vì vậy chỉ cần dùng lệnh sau để cài đặt:

apt-get install nginx

Sau đó khởi động nginx:

/etc/init.d/nginx start

Nhập địa chỉ IP của máy chủ web hoặc hostname vào thanh địa chỉ trình duyệt (chẳng hạn: http://192.168.0.100) và trang welcome sẽ hiện ra:

Cài đặt Nginx với PHP5, PHP-FPM và hỗ trợ MySQL trên Ubuntu 11.10

Thư mục root mặc định của nginx trên Ubuntu 11.10 là /usr/share/nginx/www.

4. Cài đặt PHP5

Chúng ta có thể làm cho PHP5 làm việc trong nginx thông qua PHP-FPM (FastCGI Process Manager - một sự thay thế PHP FastCGI để thực hiện một số tính năng bổ sung hữu ích cho các trang web có kích thước bất kỳ, đặc biệt là các trang có lượng truy cập lớn) như sau:

apt-get install php5-fpm

PHP-FPM là một tiến trình daemon (với script khởi tạo trong /etc/init.d/php5-fpm) có thể chạy một máy chủ FastCGI trên cổng 9000.

5. Cấu hình nginx

Để cấu hình nginx bạn cần mở tập tin /etc/nginx/nginx.conf như sau:

vi /etc/nginx/nginx.conf

Quá trình này cũng khá đơn giản (bạn đọc quan tâm có thể tham khảo thêm tại đâytại đây).

Đầu tiên (tùy chọn này không bắt buộc) điều chỉnh một số tiến trình hoạt động và thiết lập cho keepalive_timeout giá trị thích hợp:

[...] worker_processes  4; [...]     keepalive_timeout   2; [...]

Các host ảo được định nghĩa trong nội dung của server {}. Theo mặc định vhost sẽ được xác định trong tập tin /etc/nginx/sites-available/default, chúng ta sửa lại như sau:

[...]
server {
        listen   80; ## listen for ipv4; this line is default and implied
        listen   [::]:80 default ipv6only=on; ## listen for ipv6

        root /usr/share/nginx/www;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to index.html
                try_files $uri $uri/ /index.html;
        }

        location /doc {
                root /usr/share;
                autoindex on;
                allow 127.0.0.1;
                deny all;
        }

        location /images {
                root /usr/share;
                autoindex off;
        }

        #error_page 404 /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/www;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #       proxy_pass http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny all;
        }
}
[...]

Bỏ chú thích ở dòng listen để nginx có thể nghe được trên cổng 80 của IPv4 và Ipv6.

Dòng server_name _; ở đây sử dụng vhost mặc định (tất nhiên bạn có thể chỉ định một hostname cụ thể như www.example.com). Ở đây chúng tôi thêm index.php trên dòng index, dòng root /usr/share/nginx/www; có ý nghĩa là thư mục root có đường dẫn /usr/share/nginx/www.

Phần quan trọng đối với PHP là đoạn location ~ \.php$ {}. hãy bỏ chú thích để kích hoạt nó. Cuối cùng lưu lại tập tin và khởi động lại nginx:

/etc/init.d/nginx reload

Bây giờ tạo tập tin PHP trong thư mục root /usr/share/nginx/www:

vi /usr/share/nginx/www/info.php
<?php
phpinfo();
?>

Sau đó truy cập tập tin này trên trình duyệt (chẳng hạn http://192.168.0.100/info.php):

Cài đặt Nginx với PHP5, PHP-FPM và hỗ trợ MySQL trên Ubuntu 11.10

Vậy là PHP5 đã hoạt động thông qua FPM/FastCGI (bạn có thể kiểm tra thông tin trên dòng Server API). Nếu di chuyển xuống phía dưới bạn sẽ thấy toàn bộ module được kích hoạt sẵn trong PHP5. MySQL không có trong danh sách này có nghĩa là nó không được hỗ trợ trong PHP5.

6. “Ép” PHP5 hỗ trợ cho MySQL

Để MySQL được hỗ trợ trong PHP5, chúng ta sẽ cài đặt gói có tên php5-mysql. Đây là phương pháp tốt nhất để cài đặt một số module khác của PHP5 cần thiết cho các ứng dụng khác. Bạn có thể tìm kiếm các module có sẵn cho PHP 5 bằng lệnh sau:

apt-cache search php5

Sau đó chọn những thứ bạn cần và cài đặt nó:

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Khởi động lại PHP-FPM để có hiệu lực:

/etc/init.d/php5-fpm restart

Cuối cùng khởi động lại trang http://192.168.0.100/info.php trên trình duyệt của bạn và cuộn xuống phía dưới để thấy các module mới, bao gồm cả MySQL.

Cài đặt Nginx với PHP5, PHP-FPM và hỗ trợ MySQL trên Ubuntu 11.10

7. Thiết lập PHP-FPM sử dụng một Socket Unix

Theo mặc định, PHP-FPM sẽ lắng nghe trên cổng 9000 có IP 127.0.0.1. Chúng ta có thể thiết lập PHP-FPM sử dụng một socket Unix để tránh hiện tượng quá tải TCP. Để làm điều này, mở /etc/php5/fpm/pool.d/www.conf...

vi /etc/php5/fpm/pool.d/www.conf

… và thiết lập dòng listen như dưới đây:

[...]
;listen = 127.0.0.1:9000
listen = /tmp/php5-fpm.sock
[...]

Sau đó khởi động lại PHP-FPM:

/etc/init.d/php5-fpm restart

Tiếp theo, thông qua cấu hình nginx và toàn bộ vhost của bạn để thay đổi fastcgi_pass 127.0.0.1:9000; thành fastcgi_pass unix:/tmp/php5-fpm.sock;.

vi /etc/nginx/sites-available/default
[...]
        location ~ \.php$ {
                fastcgi_pass unix:/tmp/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
[...]

Và cuối cùng là khởi động lại nginx:

/etc/init.d/nginx reload

8. Các link tham khảo

Nguồn : Đ.Hải - Quantrimang
 
Ý kiến phản hồi và bình luận Góp ý kiến của bạn

Các tin mới nhất :
- Thiết lập 1 hệ thống High-availability - Loadbalancing và Reverse Proxy cho Web Server trên CentOS 6/RHEL Sử dụng HAProxy và Keepalived
- Đồng bộ hóa dữ liệu giữa hai Server Ubuntu 11.10 sử dụng Unison.
- Bảo vệ thư mục web với mod_auth_mysql trên Apache2
- Tích hợp MailScanner - ClamAV - SpamAssassin - SquirrelMail vào PostfixTrên Centos 5.7
- Cài đặt rsnapshot trên CentOS
- Xây dựng hệ thống NAS Cluster sử dụng OpenFiler
- Cài đặt Nginx trên Ubuntu 11.10
- Thiết lập hệ thống Active/active Samba CTDB Cluster sử dụng GFS & DRBD Trên Centos 5.7 X86_64
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần3)
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần2)
Các tin liên quan :
- Thiết lập hệ thống Active/active Samba CTDB Cluster sử dụng GFS & DRBD Trên Centos 5.7 X86_64
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần3)
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần2)
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần 1)
- Xây dựng hệ thống File server có độ sẵn sàng cao (HA) sử dụng NFS,DRDB, Heartbeat trên Centos6 X86_64
- Upgrade Ubuntu 11.04 lên Ubuntu 11.10
- Ảo hóa với KVM trên máy chủ CentOS 6.0 (Phần 2)
- Ảo hóa với KVM trên máy chủ CentOS 6.0 (Phần 1)
- Cài đặt và cấu hình Samba trên centos 6 X86_64
- Pandora công cụ monitor trên linux
Xem tiếp
Bài nhiều người đọc cùng chuyên mục
50 câu lệnh Linux phải nhớ
 
Thiết lập 1 hệ thống High-availability - Loadbalancing và Reverse Proxy cho Web Server trên CentOS 6/RHEL Sử dụng HAProxy và Keepalived
 
Thiết lập Openvpn trên Server Linux
 
Thiết lập tường lửa Iptables cho Linux - Phần 1
 
Cài đặt và cấu hình Server Linux CentOS hoàn chỉnh (Phần 1)
 
Cài Đặt Web Server (LAMP )Trên Centos 6 X86_64
 
Cấu hình ftp server với vsftpd
 
Trang chủ | Giới thiệu | Quảng cáo | Liên hệ
Giấy phép ICP số 199/GP-TTĐT. Bộ Thông tin và Truyền thông cấp.
Cơ quan quản lý  : Công Ty TNHH Phát Triển Kỹ Thuật và Thương Mại Phan Nguyễn
Bản quyền © 2010-2011 Kenhgiaiphap.vn . Giữ toàn quyền.
Ghi rõ nguồn "Kenhgiaiphap.vn" khi phát hành lại thông tin từ website này.