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