Bài viết này mình sẽ hướng dẫn các bạn cài đặt LEMP trên Linux Centos 7
LEMP gồm có:
- Linux OS
- Engine X (Nginx)
- MariaDB(Database)
- PHP (bài viết này sẽ cài đặt gói php 5.6)
Cài đặt Nginx
Cập nhật VPS/Server
yum -y update
Thêm Yum repository
yum install epel-release rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
Cài đặt Nginx
yum -y install nginx
Tự chạy Nginx khi khởi động máy
systemctl enable nginx.service
Khởi động dịch vụ Nginx
systemctl start nginx.service
Nếu đã cài httpd thì tắt nó bằng lệnh
systemctl disable httpd.service
Kiểm tra dịch vụ web đã hoạt động chưa bằng cách vào trình duyệt gõ http://tên domain hoặc IP/
Nếu trả về kết quả sau là đã cài Nginx thành công
Cài đặt PHP 5.6
Để cài đặt php 5.6 bạn thực hiện lệnh:
yum --enablerepo=remi,remi-php56 install -y php-fpm php-common
Cài đặt các PHP module
yum --enablerepo=remi,remi-php56 install -y php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongo php-pecl-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml memcached
Khởi động PHP-FPM
systemctl start php-fpm.service
Tự động khởi động PHP-FPM khi bật máy
systemctl enable php-fpm.service
Sau khi cài đặt xong Nginx và PHP ta tiến hành cấu hình để Nginx và PHP-FPM kết nối với nhau 😀
Cấu hình Nginx
Sửa file /etc/nginx/nginx.conf, sửa worker_processes bằng với số CPU của máy chủ.
Sửa file /etc/nginx/conf.d/default.conf như sau:
Thay IP/Domain name bằng IP hoặc tên miền của bạn.
Sửa phần location thành:
location / { root /usr/share/nginx/html; index index.php index.html index.htm; try_files $uri $uri/ /index.php?q=$uri&$args; }
Các bạn lưu ý đường dẫn mặc định của nginx là /usr/share/nginx/html ở trên mình đã thay đường dẫn mặc định về /home/nginx/html để dễ quản lý. Nếu bạn thay đổi đường dẫn như cấp quyền sở hữu thư mục đó cho nginx bằng lệnh
chown nginx:nginx /đường dẫn/ * ví dụ: chown nginx:nginx /home/nginx/html/ *
Cấu hình PHP-FPM
Sửa file /etc/php-fpm.d/www.conf
Thay user = apache và group = apache bằng nginx.
Nếu dùng vi để chỉnh sửa bạn có thể tìm kiếm user bằng cách bấm phím / rồi gõ user sau đó enter để tìm kiếm. Nếu dùng nano thì gõ Ctrl + W rồi gõ từ cần tìm
Sau khi cấu hình xong ta khởi động lại PHP-FPM và Nginx
systemctl restart php-fpm.service systemctl restart nginx.service
Kiểm tra php đã hoạt động chưa bằng cách tạo file info.php ở thư mục gốc website. Thư mục gốc của mình là /home/nginx/html thì sẽ tạo như sau:
nano /home/nginx/html/info.php
Nội dung file:
<?php phpinfo(); ?>
Lưu lại và bạn có thể vào địa chỉ IP hoặc domain để chạy thử website.
http://IP/info.php
Nếu ra kết quả tương tự như sau là php đã hoạt động tốt rồi đấy
[quangcao1]
Lưu ý: nếu bạn truy cập thẳng vào IP hoặc khi khởi động lại VPS mà báo lỗi không kết nối được thì hãy open port http và https
Xem thêm Hướng dẫn cấu hình tường lửa trên centos 6/7
yum install -y iptables-services systemctl start iptables.service iptables -I INPUT -p tcp --dport 80 -j ACCEPT iptables -I INPUT -p tcp --dport 443 -j ACCEPT systemctl enable iptables service iptables save systemctl restart iptables.service
Cài đặt MariaDB
Cài đặt MariaDB bằng lệnh:
yum install -y mariadb mariadb-server
Khởi động MariaDB và tự động chạy bật máy:
systemctl start mariadb.service systemctl enable mariadb.service
Cấu hình MariaDB
Sử dụng lệnh sau để cấu hình:
/usr/bin/mysql_secure_installation
Vì mật khẩu ban đầu trống nên bạn Enter để tiến hành cấu hình.
Gõ y để cài mật khẩu cho user root. Sau khi cài xong mật khẩu các câu hỏi tiếp theo gõ y để hoàn thành cấu hình MariaDB
Set root password? [Y/n] y New password: Re-enter new password: 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
Đăng nhập vào MySQL bằng lệnh:
mysql -u root -p
gõ mật khẩu vừa cài để đăng nhập
Tạo cơ sở dữ liệu dùng lệnh:
CREATE DATABASE tên_CSDL;
Tạo user mới:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Cấp quyền cho user truy cập database
GRANT ALL PRIVILEGES ON tên_CSDL.* TO newuser@localhost IDENTIFIED BY 'password';
Trên đây là cách cài LEMP cho Centos 7. Chúc các bạn thành công.
Xem thêm các bài viết về Thủ thuật Linux