Cách cài đặt website php - postgre trong vps
thông thường nginx sẽ để các thiết lập ở /var/www nên mình sẽ cd đến đó:
$ cd /var/www
1. clone source từ server git về hoặc tạo 1 source mới với laravel như sau
$ git clone https://github.com/ThanhHungDev/hanhtrinh247.git ebudezain
hoặc:
$ composer create-project laravel/laravel ebudezain 7.3.*
2. cài đặt server nginx chạy php-fpm trên host
nếu đã tồn tại đường dẫn thì xoá đi
$ rm -f /etc/nginx/sites-enabled/ebudezain.com.conf
tạo mới hoặc chỉnh sửa 1 config nginx
$ nano /etc/nginx/sites-available/ebudezain.com.conf
dưới đây là cấu hình VPS chuẩn chỉ có http ta dán vào nội dung file vừa mở
server {
listen 80;
listen [::]:80 ipv6only=on;
# Log files for Debugging
access_log /var/log/nginx/ebudezain-access.log;
error_log /var/log/nginx/ebudezain-error.log;
# Webroot Directory for ebudezain project
root /var/www/ebudezain/public;
index index.html index.php index.htm;
# Your Domain Name
server_name ebudezain.com www.ebudezain.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# PHP-FPM Configuration Nginx
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
sau đó lưu file ctrl + 0 và thoát ra bằng lệnh ctrl + X
Chúng ta cần thay đổi quyền sở hữu thư mục project Laravel về user ‘www-data’,
và thay đổi permission thư mục thành 755.
$ chown -R www-data:root /var/www/ebudezain
$ chmod 755 /var/www/ebudezain/storage
copy file chuẩn bị "/etc/nginx/sites-available/ebudezain.com.conf" qua file chạy thật
$ ln -s /etc/nginx/sites-available/ebudezain.com.conf /etc/nginx/sites-enabled/
kiểm tra nginx mới có bình thường không
$ nginx -t
nếu có chữ ok thì thành công. nhưng nếu không có chữ ok bạn có thể xóa file chạy thật trong sites-enabled
$ rm -f /etc/nginx/sites-enabled/ebudezain.com.conf
nếu thành công bạn restart nginx
$ systemctl restart nginx
lúc này cần chỉnh lại file .env của laravel nữa là xong :D mà khoan, trong file env còn phải config database nên giừo chúng ta sẽ config thêm db.
Tạo db: (vào db : psql -h localhost -U postgres)
$ sudo -u postgres psql
$$ postgres=# CREATE DATABASE ebudezain;
$$ postgres=# \list
$$ postgres=# \q
export db vào
$ postgres=# pg_dump -U postgres hanhtrinh247 > /var/www/hanhtrinh247/SERVER_PHP/hung.test.11.sql;
$ postgres=# psql -h 127.0.0.1 -p 5432 -U postgres ebudezain < /var/www/ebudezain/hanhtrinh247.29.sql;