Cài đặt Nginx, MySQL, Php FPM tạo Virtual Host trên CentOS 6.4 [Linux]

1. Cài đặt Nginx:

Ta tạo file repository trong thư mục /etc/yum.repos.d/

# vi /etc/yum.repos.d/nginx.repo

Thêm vào những dòng sau:

[nginx] name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

Lưu và thoát, ta tiến hành cài đặt Nginx bằng lệnh:

#yum install nginx nginx-devel

Sau khi cài đặt xong, ta kiểm tra trạng thái của Nginx

# service nginx status
nginx is stopped

Hiển thị như trên chứng tỏ nginx đã được cài đặt nhưng đang ở trạnh thái stopped. Ta kiểm tra cấu hình hiện tại của nginx bằng lệnh:

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Như vậy là OK, ngoài ra ta còn biết được vị trí của thư mục và file cấu hình chính

Khởi động Nginx bằng lệnh:

# service nginx start
Starting nginx: [ OK ]

Bây giờ từ Client ta có thể truy cấp vào Web server:

http://ip- sever.com/

Hiển thị như bên dưới là OK  [Nginx, MySQL, Php FPM, Virtual Host CentOS 6.4]

Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.
Thank you for using nginx.

Nếu ko truy cập được các bạn nên mở port 80 trên iptables hoặc disable iptables bằng lệnh:

 #service iptables stop

2. Tạo virtual host:

Virtual host là tính năng giúp ta duy trì nhiều 1 web server trên 1 máy tính. Ví dụ abc.com hoặc xyz.com. Để thực hiện được điều này, mỗi web server cần 1 file chứa các thông tin về server name, đường dẫn …v..v

File này nằm trong thư mục: /etc/nginx/conf.d/

Với các thông tin chính:

listen 80;
server_name localhost;
location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
}

Trong đó: root /usr/share/nginx/html là thư mục lưu trữ nội dung website

Để tạo thêm web server ta copy file default.conf thành 1 file khác, sau đó thay đổi các thông tin về server_name, root ….

# cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/mysite.conf
Phân quyền tập tin:

Khi thiết lập thư mục root cho các file của web, bạn phải chắc chắn rằng các file này và thư mục chứa nó có thể “read” được bởi “group” và “others” trên hệ thống. Ví dụ phân quyền 0755 cho file và folder. Nginx không thể đọc được tập tin nếu như thư mục chứa nó không thể đọc được.

 3. Cài đặt PHP và FPM:

Tiếp theo ta sẽ cài đặt PHP để file “.php” có thể được xử lý bởi Nginx.

php-fpm đã có sẵn trên repository chính thức của CentOS nên ta không cần phải tạo 1 mục repo như khi cài đặt Nginx.

Để cài đặt php-fpm ta sử dụng lệnh sau:

# yum install php-fpm

Sau khi cài đặt xong, ta khởi động php-fpm:

# service php-fpm start
Starting php-fpm: [ OK ]

Cấu hình trên Nginx:

Mở file default.conf

# vi /etc/nginx/conf.d/default.conf

Uncomment các đoạn sau và sửa đổi 1 số dòng tương tự bên dưới :

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
    root /usr/share/nginx/html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Lưu lại và thoát, sau đó khởi động lại Nginx:

# service nginx restart

Để kiểm tra, ta tạo 1 file phpinfo.php trong thư mục /usr/share/nginx/html (mặc định)

# vi /usr/share/nginx/html/phpinfo.php

Nhập nội dung:

<?php 
phpinfo();
?>

Bây giờ bạn có thể truy cập vào địa chỉ sever để test:

http://ip-sever/phpinfo.php

4. Cài đặt MySQL:

#yum install mysql mysql-server

Khởi động MySql:

# /etc/init.d/mysqld start

Cho phép mysql khởi động cùng lúc khi server được bật lên lại:

# chkconfig mysqld on

Tiếp tục, ta set mật khẩu cho tài khoản root:

#mysql_secure_installation
Hoặc:
# /usr/bin/mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):  <~~~~ENTER
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] y
New password:  <~~~~ Nhập mật khẩu vào đây (bất kì)
Re-enter new password:  <~~~~ Nhập lại
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n]  <~~~~ENTER
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <~~~~ENTER
… Success!

By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] <~~~~ENTER
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <~~~~ENTER
… Success!

Cleaning up…
All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Nguồn: iplusvn.org

Thứ sáu, 31/10/2014, 16:30 GMT+7