百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
W

wordpress-heroku

> 编程语言
开源

用于将 WordPress 部署到 Heroku 的模板项目

1.3K stars0 点赞2 次浏览
访问官网GitHub

工具介绍

用于将 WordPress 部署到 Heroku 的模板项目

WordPress Heroku

This project is a template for installing and running WordPress on Heroku. The repository comes bundled with:

  • PostgreSQL for WordPress
  • Amazon S3 and Cloudfront
  • WP Sendgrid
  • Wordpress HTTPS

Installation

Clone the repository from Github

$ git clone git://github.com/mhoofman/wordpress-heroku.git

With the Heroku gem, create your app

$ cd wordpress-heroku
$ heroku create
Creating strange-turtle-1234... done, stack is cedar
http://strange-turtle-1234.herokuapp.com/ | [email protected]:strange-turtle-1234.git
Git remote heroku added

Add a database to your app

$ heroku addons:create heroku-postgresql
Creating HEROKU_POSTGRESQL_INSTANCE... done, (free)
Adding HEROKU_POSTGRESQL_INSTANCE to strange-turtle-1234... done
Setting DATABASE_URL and restarting strange-turtle-1234... done, v3
Database has been created and is available
 ! This database is empty. If upgrading, you can transfer
 ! data from another database with pgbackups:restore
Use `heroku addons:docs heroku-postgresql` to view documentation.

Promote the database (replace HEROKU_POSTGRESQL_INSTANCE with the name from the above output)

$ heroku pg:promote HEROKU_POSTGRESQL_INSTANCE
Promoting HEROKU_POSTGRESQL_INSTANCE to DATABASE_URL... done
Ensuring an alternate alias for existing DATABASE... done, HEROKU_POSTGRESQL_COLOR
Promoting HEROKU_POSTGRESQL_INSTANCE to DATABASE_URL on strange-turtle-1234... done

Add the ability to send email (i.e. Password Resets etc)

$ heroku addons:create sendgrid:starter
Creating SENDGRID_INSTANCE... done, (free)
Adding SENDGRID_INSTANCE to strange-turtle-1234... done
Setting SENDGRID_PASSWORD, SENDGRID_USERNAME and restarting strange-turtle-1234... done, v7
Use `heroku addons:docs sendgrid` to view documentation.

Create a new branch for any configuration/setup changes needed

$ git checkout -b production

Store unique keys and salts in Heroku environment variables. Wordpress can provide random values here.

heroku config:set AUTH_KEY='put your unique phrase here' \
  SECURE_AUTH_KEY='put your unique phrase here' \
  LOGGED_IN_KEY='put your unique phrase here' \
  NONCE_KEY='put your unique phrase here' \
  AUTH_SALT='put your unique phrase here' \
  SECURE_AUTH_SALT='put your unique phrase here' \
  LOGGED_IN_SALT='put your unique phrase here' \
  NONCE_SALT='put your unique phrase here'

Deploy to Heroku

$ git push heroku production:master
-----> Deleting 0 files matching .slugignore patterns.
-----> PHP app detected

 !     WARNING: No composer.json found.
       Using index.php to declare PHP applications is considered legacy
       functionality and may lead to unexpected behavior.

-----> No runtime requirements in composer.json, defaulting to PHP 5.6.2.
-----> Installing system packages...
       - PHP 5.6.2
       - Apache 2.4.10
       - Nginx 1.6.0
-----> Installing PHP extensions...
       - zend-opcache (automatic; bundled, using 'ext-zend-opcache.ini')
-----> Installing dependencies...
       Composer version 1.0-dev (ffffab37a294f3383c812d0329623f0a4ba45387) 2014-11-05 06:04:18
       Loading composer repositories with package information
       Installing dependencies
       Nothing to install or update
       Generating optimized autoload files
-----> Preparing runtime environment...
       NOTICE: No Procfile, defaulting to 'web: vendor/bin/heroku-php-apache2'
-----> Discovering process types
       Procfile declares types -> web

-----> Compressing... done, 78.5MB
-----> Launcing... done, v5
       http://strange-turtle-1234.herokuapp.com deployed to Heroku

To git@heroku:strange-turtle-1234.git
  * [new branch]    production -> master

After deployment WordPress has a few more steps to setup and thats it!

Usage

Because a file cannot be written to Heroku's file system, updating and installing plugins or themes should be done locally and then pushed to Heroku.

Updating

Updating your WordPress version is just a matter of merging the updates into the branch created from the installation.

$ git pull # Get the latest

Using the same branch name from our installation:

$ git checkout production
$ git merge master # Merge latest
$ git push heroku production:master

WordPress needs to update the database. After push, navigate to:

http://your-app-url.herokuapp.com/wp-admin

WordPress will prompt for updating the database. After that you'll be good to go.

Deployment optimisation

If you have files that you want tracked in your repo, but do not need deploying (for example, *.md, *.pdf, *.zip). Then add path or linux file match to the .slugignore file & these will not be deployed.

Examples:

path/to/ignore/
bin/
*.md
*.pdf
*.zip

Wiki

  • Custom Domains
  • Media Uploads
  • Postgres Database Syncing
  • Setting Up a Local Environment on Linux (Apache)
  • Setting Up a Local Environment on Mac OS X
  • More...

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

PHP

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言