Nếu bạn đã sử dụng qua hệ thống Web Server LAMP và bạn muốn một hệ thống tốt hơn thì bạn nên biết đến LEMP, một trong những hệ thống đang rất phát triển hiện nay. Và để có thể “Tự cài đặt Web Server LEMP” cho website của bạn, thì bạn cần đọc qua bài hướng dẫn dưới đây.
Lưu ý: Hệ thống Web Server LEMP này chỉ dành cho các bạn đã biết về linux và sử dụng linux thành thạo.
LEMP bao gồm các thành phần: OS Linux + NGINX + MariaDB +Php/Perl/Python
Xét về hiệu suất thì LEMP có phần vượt trội hơn LAMP, tuy nhiên để triển khai và quản trị LEMP là một điều không hề dễ dàng.
Tuy nhiên trong bài viết này Blog Hoàng BCS sẽ hướng dẫn bạn “tự cài đặt Web Server LEMP trên VPS CentOS” cho các phiên bảng 6.x theo từng bước một và hoàn toàn dễ dàng.
Các bài viết hiện nay không được cập nhật nên Hoàng BCS sẽ cố gắng thực hiện hệ thống mới hơn các hệ thống LEMP đang có, nhằm giúp các bạn đã cài đặt cập nhật, còn các bạn mới thì nhanh chóng được tiếp cận công nghệ mới.
Bài viết này không hỗ trợ CentOS 7 nhé.
Để chuẩn bị cài đặt một Web Server cho website của bạn thì bạn cần chuẩn bị các thứ sau:
- Đĩa CD OS linux hoặc VPS có sắn hệ điều hành CentOS 6.5+
- Một Server vật lý hoặc VPS, tốt nhất là VPS SSD
Tham khảo:
Bạn có thể tham khảo qua 2 nhà cung cấp dịch vụ VPS SSD khá tốt tại đây
(Đặt biệt khi bạn mua VPS qua sự giới thiệu của Blog Hoàng BCS -> tại vHost hoặc tại Vinahost <- thì bên mình có những chính sách hỗ trợ đặt biệt cho bạn.)
Sau khi đã chuẩn bị xong thì bây giờ chúng ta tự cài đặt Web Server LEMP trên VPS hoặc Server của mình nào.
Mục lục:
Các bước tự cài đặt Web Server LEMP cho WordPress trên VPS CentOS
0. Thông tin chung
- OS: CentOS 6.6 x86_64 mininal
- CPU: 1 core
- Ram: 768
- HDD: 15GB
- Băng thông: Không giới hạn
VPS SSD giá tốt tham khảo giá -> Tại đây <- Giá cực HOT
1. Cấu hình trước khi tự cài đặt Web Server LEMP
Vì trên môi trường internet nên các bạn cần lưu ý các vấn đều sau:
- Cấu hình thay đổi password: Nên đặt passwword nhiều hơn 8 ký tự, có ký tự Hoa, Số, và Ký tự đặt biệt
- Cấu hình thay đổi Port SSH: chuyển port 22 sang port khác
- Update hệ thống Linux
- Cài đặt Remi/EPEL Repository cho hệ thống
2. Cài đặt NGINX
Để có thể cài đặt Nginx mới nhất thì chúng ta phải sử dụng Nginx repository. Tạo một file nginx.repo trong thư mục /etc/yum.repos.d/
Bước 1: Cài đặt repo
# vi /etc/yum.repos.d/nginx.repo
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
Bước 2: cài đặt Nginx
# yum install nginx -y
Bước 3: Bật nginx và cấu hình nginx
# service nginx start && chkconfig nginx on
Bước 4: Kiểm tra
# nginx -V
Bước 5: Cấu hình Nginx
Mở file /etc/nginx/nginx.conf tinh chỉnh tham số worker_processess (nếu bạn muốn biết tham số này thì dùng lệnh #lscpu để xem tham số CPU là bao nhiêu)
# vi /etc/nginx/nginx.conf
Trong trường hợp này CPU = 1 nên ta cấu hình, nếu CPU = 2 thì bạn thay đổi thành 2
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events { worker_connections 1024; }
+ Mở file /etc/nginx/conf.d/default.conf tinh chỉnh file config để có thể cài đặt website trong phần tiếp theo. Tinh chỉnh server_name và thêm vào file index.php, và đổi tham số fastcgi_param đúng với đường dẫn của nó.
# vi /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name tên miền_website;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
…
…
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
# Bỏ dấu # phía trước đoạn phía như đoạn bên dưới.
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
Khởi động lại dịch vụ Nginx:
# service nginx restart
Kiểm tra trên trình duyệt
Vậy là xong việc cài đặt Nginx mới nhất rồi, làm tiếp bước tiếp theo thôi.
3. Cài đặt MariaDB
Bước 1: Bật file repo cho việc cài đặt mariadb
# vi /etc/yum.repos.d/mariadb.repo
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos6-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
# yum install MariaDB-devel MariaDB-client MariaDB-server -y
Bước 2: khởi động và cấu hình MySQL
# service mysql start && chkconfig mysql on
Bước 3: Kiểm tra version
# mysql -V
Bước 4: Cấu hình bảo mật cho MariaDB
# mysql_secure_installation
Bạn chọn Yes tất cả các mục, như phần bên dưới:
Enter current password for root (enter for none): Enter
Set root password? [Y/n] y
Nhập Pass
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Vậy là xong phần cài đặt MariaDB
4. Cài đặt PHP 5.6-FPM
Bước 1: Cài đặt php bằng lệnh yum
# yum install php php-gd php-json php-pdo php-common php-fpm php-mysql php-mbstring php-mcrypt php-xml -y
Bước 2: Khởi động php-fpm
# service php-fpm start && chkconfig php-fpm on
Bước 3: Cấu hình PHP cho Nginx
+ Mở file /etc/php.ini tìm đến dòng cgi.fix_pathinfo thay đổi giá trị từ 1 thành 0
# vi /etc/php.ini
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP’s
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo = 0
+ Mở file /etc/php-fpm.d/www.conf thay đổi user và group từ apache sang Nginx
# vi /etc/php-fpm.d/www.conf
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user’s group
; will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
Khởi động lại php-fpm:
# service php-fpm restart
Bước 4: Kiểm tra
# php -v
Kiểm tra bằng trình duyệt:
Tạo một file info.php trong thư mục /usr/share/nginx/html/info.php
# echo -e '<?php \nphpinfo(); \n?>' > /usr/share/nginx/html/info.php
Khởi động lại Nginx:
# service nginx restart
5. Cài đặt phpMyAdmin
Bước 1: Download phpMyAdmin mới nhất tại site (Download phpmyadmin ) vào thư mục /usr/share/
# cd /usr/share
# wget https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.tar.bz2
Bước 2: giải nén sau đó đổi tên phpMyAdmin_lastet thành phpMyAdmin
# tar xvf phpMyAdmin-4.6.5.2-all-languages.tar.bz2
# mv phpMyAdmin-4.6.5.2-all-languages phpmyadmin
Bước 3: đổi tên thư file config.sample.inc.php into config.inc.php trong thư mục vừa đổi tên phpMyAdmin
# cp config.sample.inc.php config.inc.php
Bước 4: Cấu hình file config.inc.php để chứng thực
/* Authentication type */
$cfg[‘Servers’][$i][‘auth_type’] = ‘http’;
Bước 5: Cấu hình đường dẫn cho phpMyAdmin
# vi /etc/nginx/conf.d/default.conf
Chèn đoạn code sau vào cuối file và nằm trên dấu }
location /phpmyadmin {
alias /usr/share/phpmyadmin/;
index index.php index.html index.htm;
}
Bước 6: kiểm tra
Đăng nhập vào trình duyệt với URL: http://X.X.X.X/phpmyadmin
6. Cài đặt WordPress
Bước 1: Download WordPress
# cd /usr/share/nginx/html/
# wget https://wordpress.org/latest.tar.gz
# tar xzvf latest.tar.gz
Bước 2: Di chuyển toàn bộ source code trong thư mục wordpress mà ta vừa giải nén ra thư muc chính /usr/share/nginx/html/
# mv /usr/share/nginx/html/wordpress/* /usr/share/nginx/html/
Bước 3: Đổi tên file wp-config-sample.php -> wp-config.php
# mv wp-config-sample.php wp-config.php
Bước 4: Tạo MySQL
Bạn đăng nhập vào phpMyAdmin để tạo một database với thông tin sau:
- DATABASE: wordpress
- USER: root
- PASSWORD: 123456
Bước 5: Kết nối Source với MySQL
Mở file wp-config.php và cấu hình giống như phần bên dưới
# vi wp-config.php
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘wordpress‘);
/** MySQL database username */
define(‘DB_USER’, ‘root‘);
/** MySQL database password */
define(‘DB_PASSWORD’, 123456‘);
Bước 6: Kiểm tra
Sau khi kết nối xong, thì bạn vào trình duyệt và nhập IP của bạn vào thì sẽ thấy phần cài đặt wordpress.
Tới đây là bạn đã hoàn thành toàn bộ việc cài đặt Web Server LEMP cho WordPress trên CentOS 6.6 với Nginx 1.10.2, php-fpm 5.6 và MariaDB 10.1, và phpMyAdmin và wordpress 4.7.
Cuối cùng thì bạn cũng có thể Tự cài đặt Web Server LEMP cho WordPress trên VPS CentOS cho riêng mình.
Nếu bạn vẫn còn ý định mua VPS để làm website thì hãy ủng hộ Blog Hoàng BCS tại các đường dẫn bên dưới.
Tham khảo:
Trong quá trình hướng dẫn các bạn tự cài đặt Web Server LEMP chắc chắn có sơ suất, nếu có vấn đề gì các bạn để lại bình luận phía dưới để cùng nhau trao đổi và giúp chúng ta càng ngày càng hoàn thiện.
Nếu bạn thầy bài viết này hay hãy chia sẽ với mọi người nhé!