Nginx và Apache
Nginx là một web server nguồn mở hoạt động nhanh và sử dụng ít tài nguyên hệ thống hơn Apache. Khi ở trạng thái tải nhẹ thì sự khác nhau giữa Apache và Nginx là không đáng kể. Tuy vậy, ở trạng thái tải nặng, Nginx có thể mở rộng sao cho phù hợp và hoạt động nhanh mà không cần chiếm quá nhiều tài nguyên bộ nhớ như Apache.
Lưu ý: Trước khi tiến hành, Ubuntu 12.04 phải được cài trên hệ thống. Các dòng lệnh sẽ được sử dụng thay vì giao diện đồ họa do hầu hết các web server không có tiện ích quản lý màn hình.
Cài đặt Nginx
Trong cửa sổ lệnh, nhập những câu lệnh sau:
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx
sudo apt-get update
sudo apt-get install nginx
Nginx sẽ được thêm vào kho lưu dữ liệu vì vậy người dùng luôn được cập nhật phiên bản mới và ổn định nhất.
Trong trường hợp Apache đã được cài và đang chạy nền, ta cần chặn nó trước khi Nginx có thể hoạt động.
sudo service apache2 stop
Khởi động Nginx.
sudo service nginx start
Nếu câu lệnh trên không có tác dụng, sử dụng câu lệnh dưới đây:
sudo /etc/init.d/nginx start
Mở một trình duyệt và truy cập vào http://localhost. Với một web host đầu xa, người dùng phải nhập địa chỉ IP thay thế. Ta sẽ thấy hình sau:
Cài đặt và cấu hình PHP
Cài đặt PHP rất dễ dàng, nhưng muốn chương trình tương thích với Nginx thì người dùng cần phải cấu hình thêm.
Để cài PHP5 và những module cơ bản khác, sử dụng lệnh sau:
sudo apt-get install php5-cli php5-fpm php5-mysql
“php5-fpm” là module cơ bản cho PHP để làm việc trong môi trường Nginx, vì vậy hãy đảm bảo chương trình được cài.
Cấu hình Nginx để làm việc cùng PHP
Mở file “default” trong thư mục /etc/nginx/sites-available bằng câu lệnh:
sudo nano /etc/nginx/sites-available/default
Cuộn xuống danh sách cho đến khi thấy dòng index index.html index.htm;. Thêm index.php vào cuối dòng, trước dấu “;”.
Tiếp theo, cuộn xuống cho đến khi nhìn thấy đoạn mã sau:
# location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# # With php5-cgi alone
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm;
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
# }
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# # With php5-cgi alone
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm;
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
# }
Xóa tất cả các dấu “#” đầu dòng (trừ dòng # fastcgi_pass unix:/var/run/php5-fpm.sock;) và thêm dòng try_files $uri =404; vào dòng thứ hai.
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone
fastcgi_pass 127.0.0.1:9000;
# With php5-fpm;
# fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone
fastcgi_pass 127.0.0.1:9000;
# With php5-fpm;
# fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Lưu (nhấn Ctrl + O) và thoát (Ctrl + X) file cấu hình.
Khởi động lại Nginx.
sudo service nginx restart
Để kiểm tra xem php5 có làm việc trên Nginx hay không, chúng ta sẽ tạo một file php, đặt nó vào thư mục Nginx và xem nó có hiển thị trong trình duyệt hay không.
sudo nano /usr/share/nginx/www/phpinfo.php
Thêm đoạn mã sau vào file trống:
<?php phpinfo(); ?>
Lưu file và thoát.
Bây giờ, mở trình duyệt và gõ http://localhost/phpinfo.php hoặc http://your-ip-address/phpinfo.php.
Nếu thông tin về php được hiển thị trên trình duyệt thì php hoạt động tốt trên Nginx.
Cài đặt MySql
Ở cửa sổ lệnh, gõ:
sudo apt-get install mysql-server
Trong khi cài đặt, tạo mật khẩu quản trị.
Cài đặt tùy chọn: phpmyadmin
Phpmyadmin không phải là một phần trong bộ cài LEMP server, nhưng nó rất có ích trong việc quản lý cơ sở dữ liệu và thường có trong nhiều bộ cài web server.
Để cài phpmyadmin, gõ lệnh sau:
sudo apt-get install phpmyadmin
Bỏ dấu chọn 2 tùy chọn: apache2 và lighttpd và kích OK.
Một cửa sổ cấu hình phpmyadmin hiện ra, chọn No.
Sau khi cài đặt, mở file “default” trong Nginx:
sudo nano /etc/nginx/sites-available/default
Thêm đoạn mã này vào sau đoạn mã php:
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}
Lưu và thoát file. Khởi động lại Nginx.
sudo service nginx restart
Bạn có thể kết nối tới phpmyadmin qua URL: “http://localhost/phpmyadmin” hoặc “http://your-ip-address/phpmyadmin“.