要在nginx上运行WordPress
我想在服务器上安装WordPress,所以我会写下备忘录。
嗯,只是想说一句话,别忘了php-fpm…
如果使用apache的话就没问题了…
目录
-
- 環境説明
-
- ミドルウェアインストール
-
- wordpressインストール
-
- 各種設定
-
- サービス起動
- 次の目的+参考資料
环境描述
我在AWS上使用CentOS 6.5。
如果不想写sudo很麻烦,那所有的命令都是以root权限执行的。如果没有获得su权限的人,请随时附加sudo执行。
另外,请各位自行替换括号中的部分,千万不要直接使用原文。
安装中间件
可以略过对仓库设置文件的编辑,这是为了在使用yum时仅访问必要的仓库。
安装Nginx。
nginx的存储库保留了安装时的“稳定版本”。除非在关键任务中使用,否则可以使用“主线版本”而无需担心问题。下面也包含了关于使用主线版本的步骤。
# yum install http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
# sed -i "s/enabled=1/enabled=0/g" /etc/yum.repos.d/nginx.repo
# sed -i "s/nginx.org\/packages\/centos/nginx.org\/packages\/mainline\/centos/" /etc/yum.repos.d/nginx.repo
# yum install nginx --enablerepo=nginx
安装mysql。
本次将使用版本5.6。
# yum install http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
# sed -i "s/enabled=1/enabled=0/g" /etc/yum.repos.d/mysql-community.repo
# yum -y install mysql-community-server --enablerepo=mysql56-community
我們將安裝PHP。
这次我们将使用版本5.6。
由于并未与mysql集成,所以如果有需要,升级版本也不会有问题。
# yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# yum install php --enablerepo=remi-php56
确认PHP的版本。
# php -v
我们来确认一下是否已经到了5.6。
安装php-fpm。
这次我们将使用php5.6来安装,因此从php56的库中安装。
# yum install php-fpm --enablerepo=remi-php56
安装WordPress
如果没有什么特别的理由,你可以将”4.3.1” 改为 “最新版本” 进行安装,我认为这样也没有问题。
我所做的事情如下所示。
# cd /usr/local/src/
# wget https://ja.wordpress.org/wordpress-4.3.1-ja.tar.gz
# tar zxvf wordpress-4.3.1-ja.tar.gz
如果要安装最新版本,请使用以下选项。
# cd /usr/local/src/
# wget https://ja.wordpress.org/wordpress-latest-ja.tar.gz
# tar zxvf wordpress-【インストールしたバージョン】-ja.tar.gz
移动 WordPress 目录至一个合适的位置。
# mv wordpress /var/www/
不同的配置
我要为WordPress创建一个MySQL数据库。
首先,请启动。如果已经启动,请跳过。
# service mysqld start
接下来,进行MySQL的初始设置。如果您已经执行过,请跳过此步骤。
根据命令行上的对话框进行以下操作。
此外,请预先确定MySQL的root用户密码。
# mysql_secure_installation
Enter current password for root (enter for none): 【ENTERキーを入力】
Set root password? [Y/n] Y
New password:【mysqlのrootユーザのパスワード】
Re-enter new password:【mysqlのrootユーザのパスワード】
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
首先,我们要创建一个数据库。
在这里,为了让WordPress系统能够访问MySQL,我们需要创建一个数据库和一个用户,请您先设定一个密码。
# mysql -uroot -p
Enter password: 【mysqlのrootユーザのパスワード】
mysql> create database wp;
mysql> grant all privileges on wp.* to wp@localhost identified by '【mysqlのwpユーザのパスワード】';
mysql> FLUSH PRIVILEGES;
我要编辑nginx的配置文件。
请在wp-config.php文件中,将MySQL的密码以加密形式保存,以保护其不可见。
请在HTTP标签内添加以下内容。
server {
listen 80;
server_name 【あなたのサーバのホスト名】;
index index.php ;
root /var/www/wordpress ;
location ~* /wp-config.php {
deny all;
}
location ~ \.php$ {
root /var/www/wordpress ;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
編輯後不要忘記進行文法檢查。
# service nginx configtest
只要产生以下的输出就可以了。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful`
进行php-fpm的配置。
只需要将php-fpm用户和组更改为nginx,即可进行设置。
# sed -i "s/user = apache/user = nginx/" /etc/php-fpm.d/www.conf
# sed -i "s/group = apache/group = nginx/" /etc/php-fpm.d/www.conf
让我们对php-fpm进行语法检查吧。
# service php-fpm configtest
更改WordPress的设置。
由于以下描述,请将它们逐一改写为中文。
/** WordPress のためのデータベース名 */
define('DB_NAME', 'wp');
/** MySQL データベースのユーザー名 */
define('DB_USER', 'wp');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', '【mysqlのwpユーザのパスワード】');
/** MySQL のホスト名 */
define('DB_HOST', 'localhost');
/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');
由于官方提供了优质的服务,我们可以安全地删除下述部分并直接使用官方提供的认证用唯一密钥:
https://api.wordpress.org/secret-key/1.1/salt/
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
服务启动
由于在配置时已经启动了MySQL,因此接下来我们需要启动Nginx和PHP-FPM。
# service nginx start
# service php-fpm start
在重新启动服务器时,我们也要进行自动启动设置。
# chkconfig mysqld on
# chkconfig nginx on
# chkconfig php-fpm on
剩下的是在浏览器上进行的任务。
请参考以下链接进行操作。(简便)
http://webkaru.net/linux/wordpress-install-centos/
以下是用中文原生方式改写的选项:
下面是相关目的和参考资料。
下一个目标
我想要制作一个可以在WordPress上使用Bootstrap的主题,以便能够实现这一点。
但是,既然有官方的主题页面,我会先看看那里是否有我想要的东西,如果没有的话,再考虑自己制作。
请参考以下网站
http://qiita.com/utano320/items/36b6eac2bbd5bb5657f6
http://qiita.com/MiyaseTakurou/items/923c28f7ac60b2ce761a
http://qiita.com/utano320/items/36b6eac2bbd5bb5657f6
http://www.atmarkit.co.jp/ait/articles/1407/24/news003.html
以下是要求的中文翻译版本:
http://qiita.com/utano320/items/36b6eac2bbd5bb5657f6
http://qiita.com/MiyaseTakurou/items/923c28f7ac60b2ce761a
http://qiita.com/utano320/items/36b6eac2bbd5bb5657f6
http://www.atmarkit.co.jp/ait/articles/1407/24/news003.html