Khái quát về Heroku
Heroku là một nền tảng PaaS (Platform as a Service), đây là một nền tảng đám mây cho phép mọi người xây dựng và triển khai website.
Heroku tiện lợi ở chỗ bạn không cần phải hiểu biết nhiều về Infrastructure, chỉ cần tập trung vào chuyên môn và Heroku sẽ tự động mọi thứ, giúp bạn có thể nhanh chóng đưa sản phẩm đến với người dùng.
Cách triển khai website WordPress lên Heroku
Heroku còn có thể host được trang WordPress, chỉ cần làm theo những bước sau đây:
Tạo file Procfile
1
web: vendor/bin/heroku-hhvm-nginx
Tạo file composer.json
1
{ "require": { "hhvm": "3.2.0" } }
Sửa file wp-config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// ** MySQL settings - You can get this info from your web host ** //
$url = parse_url(getenv('DATABASE_URL') ? getenv('DATABASE_URL') : getenv('CLEARDB_DATABASE_URL'));
/** The name of the database for WordPress */
define('DB_NAME', trim($url['path'], '/'));
/** MySQL database username */
define('DB_USER', $url['user']);
/** MySQL database password */
define('DB_PASSWORD', $url['pass']);
/** MySQL hostname */
define('DB_HOST', $url['host']);
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
define('AUTH_KEY', getenv('AUTH_KEY'));
define('SECURE_AUTH_KEY', getenv('SECURE_AUTH_KEY'));
define('LOGGED_IN_KEY', getenv('LOGGED_IN_KEY'));
define('NONCE_KEY', getenv('NONCE_KEY'));
define('AUTH_SALT', getenv('AUTH_SALT'));
define('SECURE_AUTH_SALT', getenv('SECURE_AUTH_SALT'));
define('LOGGED_IN_SALT', getenv('LOGGED_IN_SALT'));
define('NONCE_SALT', getenv('NONCE_SALT'));
Chạy các câu lệnh trong Terminal:
1
2
3
4
5
6
git init
git add .
git commit -m "Initial commit"
heroku create
heroku addons:add cleardb
heroku addons:add sendgrid
Gán các giá trị cần thiết cho Heroku
Các giá trị cần thiết có thể lấy ở đây: https://api.wordpress.org/secret-key/1.1/salt/
1
2
3
4
5
6
7
8
heroku config:set AUTH_KEY=''
heroku config:set SECURE_AUTH_KEY=''
heroku config:set LOGGED_IN_KEY=''
heroku config:set NONCE_KEY=''
heroku config:set AUTH_SALT=''
heroku config:set SECURE_AUTH_SALT=''
heroku config:set LOGGED_IN_SALT=''
heroku config:set NONCE_SALT=''
Push trang WordPress lên Heroku
1
git push heroku master