Cài đặt NGINX, PHP v7, MYSQL trên CENTOS 7 (LEMP).



Nguyễn Hoàng Khôi / 15-08-2018

Sau đây là cách cài đặt NGINX trên centos 7, không áp dụng cho các OS, phiên bản OS khác.

Nginx không có kho lưu trữ trên centos. Nên ta phải cài đặt EPEL bằng lệnh:

yum install epel-release -y

Sau đó tiến hành cài đặt Nginx:

yum install nginx -y

Chạy service Nginx:

systemctl start nginx

systemctl enable nginx

Đối với apache, mỗi webserver sẽ sử dụng file .htaccess để cấu hình. Riêng Nginx sẽ cấu hình bên trong server. Mặc định Nginx sẽ lấy config trong thư mục conf.d, khi thay đổi file này ta phải restart lại Nginx service để áp dụng.

Trong file nginx.conf ta thấy block server, block này chính là cấu hình server mặc định của Nginx, ta xoá nó đi. Tạo file demo.conf trong thư mục conf.d và cấu hình như sau:

<CODE>

server {
 listen 80 default_server;
 listen [::]:80 default_server;
 server_name 192.168.1.129;
 root /var/www/html/demo;
  location / {
 }

 error_page 404 /404.html;
  location = /40x.html {
 }

 error_page 500 502 503 504 /50x.html;
  location = /50x.html {
 }
}

</CODE>

Cấu hình này sẽ tạo một server có ip là 192.168.1.129 port là 80. Thư mục project là /var/www/html/demo, cấu hình này chỉ đọc đươc file html. Dùng lệnh nginx -t để kiểm tra cấu hình có ok không.

Cài đặt php7 bằng rpm

wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm

rpm -Uvh remi-release-7.rpm

yum install yum-utils -y

yum-config-manager –enable remi-php71

yum –enablerepo=remi,remi-php71 install php-fpm php-common

Cài đặt các module cho php:

yum –enablerepo=remi,remi-php71 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

Sửa cấu hình của php-fpm /etc/php-fpm.d/www.conf

user = apache thành user = nginx

group = apache thành group = nginx

listen.owner = nobody thành listen.owner = nginx

listen.group = nobody thành listen.group = nginx

listen = 127.0.0.1:9000 thành listen = /var/run/php-fpm/php-fpm.sock

Chạy php-fpm service

systemctl start php-fpm.service

systemctl enable php-fpm.service

Quay lại chỉnh sửa file /etc/nginx/conf.d/demo.conf

<CODE>

server {
 listen 80 default_server;
 listen [::]:80 default_server;
 server_name 192.168.1.129;

# note that these lines are originally from the “location /” block
 root /var/www/html/demo;
 index index.php index.html index.htm;

 location / {
  try_files $uri $uri/ =404;
 }
 error_page 404 /404.html;
 error_page 500 502 503 504 /50x.html;
  location = /50x.html {
  root /usr/share/nginx/html;
 }

 location ~ \.php$ {
  try_files $uri =404;
  fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
 }
}

</CODE>

Dùng lệnh nginx -t để kiểm tra cấu hình có đúng không. Restart lại nginx service systemctl restart nginx


to-top