如何在CentOS 7上使用Nginx安装WordPress
WordPress是全球最受欢迎的开源教程 和CMS平台,为当今互联网上所有的四分之一提供支持。
它基于PHP和MySQL,并包含大量功能,可以使用免费和高级插件和主题进行扩展。
WordPress是创建在线商店,或者教程 的最简单方法。
本教程描述了如何在CentOS 7上安装WordPress。
这是一个非常简单的过程,只需不到十分钟即可完成。
我们将使用LEMP堆栈和Nginx作为网络服务器,使用SSL证书,最新的PHP 7.2和MySQL/MariaDB作为数据库服务器。
准备工作
在继续本教程之前,请确保满足以下准备工作:
- 将域名指向服务器公共IP地址。在本教程中,我们将使用'example.com'。
- 以具有sudo特权的用户身份登录。
- 按照以下说明安装Nginx。
- 我们已经为域安装了SSL证书。我们可以按照以下说明生成免费的Let's Encrypt SSL证书。
创建MySQL数据库
WordPress将其数据和配置存储在MySQL数据库中。
第一步是创建一个MySQL数据库,MySQL用户帐户并授予对该数据库的访问权限。
如果我们尚未在Ubuntu服务器上安装MySQL或者MariaDB,则可以按照以下说明之一进行安装:
- 在CentOS 7上安装MySQL。
- 在CentOS 7上安装MariaDB。
通过执行以下命令登录到MySQL Shell:
mysql -u root -p
在MySQL Shell中,运行以下SQL语句创建一个名为'wordpress'的数据库,一个名为'wordpressuser'的用户,并将所有必要的权限授予该用户:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'change-with-strong-password';FLUSH PRIVILEGES;EXIT;
安装PHP 7.2
CentOS 7附带PHP 5.4版。
WordPress的推荐PHP版本是PHP 7.2.
要安装PHP和所有必需的PHP扩展,请运行以下命令:
sudo yum install epel-release yum-utilssudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpmsudo yum-config-manager --enable remi-php72sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl
我们安装PHP FPM是因为我们将Nginx用作Web服务器。
默认情况下,PHP FPM将以用户apache的身份在端口9000上运行。
我们将用户更改为nginx,然后从TCP套接字切换到Unix套接字。
为此,请打开“ /etc/php-fpm.d/www.conf”文件,编辑以黄色突出显示的行:
/etc/php-fpm.d/www.conf
... user = nginx ... group = nginx ... listen = /run/php-fpm/www.sock ... listen.owner = nginx listen.group = nginx
使用以下chown命令,确保'/var/lib/php'目录具有正确的所有权:
sudo chown -R root:nginx /var/lib/php
进行更改后,启用并启动PHP FPM服务:
sudo systemctl enable php-fpmsudo systemctl start php-fpm
下载Wordpress
在下载Wordpress存档之前,首先创建一个目录,我们将其中放置WordPress文件:
sudo mkdir -p /var/www/html/example.com
下一步是使用以下wget命令从WordPress下载页面下载最新版本的WordPress:
cd /tmpwget https://wordpress.org/latest.tar.gz
下载完成后,提取WordPress存档并将文件移到域的文档根目录中:
tar xf latest.tar.gzsudo mv /tmp/wordpress/* /var/www/html/example.com/
设置正确的权限,以便Web服务器可以完全访问该的文件和目录:
sudo chown -R nginx: /var/www/html/example.com
配置Nginx
到目前为止,如果没有检查本教程的准备工作,则应该已经在系统上安装了带有SSL证书的Nginx。
为了为我们的WordPress实例创建一个新的服务器块,我们将使用Nginx官方上的Nginx配方。
打开文本编辑器并创建一个新的nginx服务器块:
sudo nano /etc/nginx/conf.d/example.com.conf
添加以下行:
/etc/nginx/conf.d/example.com.conf
# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /var/www/html/example.com; index index.php; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location/{ try_files $uri $uri//index.php?$args; } location ~ \.php${ try_files $uri =404; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)${ expires max; log_not_found off; } }
不要忘记用WordPress域替换example.com并为SSL证书文件设置正确的路径。
所有HTTP请求都将重定向到HTTPS。
本教程中创建了此配置中使用的摘录。
在重新启动Nginx服务之前,请测试配置以确保没有语法错误:
sudo nginx -t
如果没有错误,则输出应如下所示:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
我们可以通过键入以下命令重新启动Nginx:
sudo systemctl restart nginx
完成WordPress安装
现在已经下载了Wordpress并完成了服务器配置,我们可以通过Web界面完成安装。
打开浏览器,输入域,然后会出现类似以下的屏幕:
选择我们要使用的语言,然后单击“继续”按钮。
接下来,我们将看到以下信息页面,单击“ Let's go!”。
按钮。
在下一个屏幕上,安装向导将要求我们输入数据库连接详细信息。
输入我们先前创建的MySQL用户和数据库详细信息。
通过单击“运行安装”按钮开始WordPress安装。
在下一步中,我们需要输入WordPress的名称并选择用户名(出于安全目的,请勿使用“ admin”)。
安装程序将自动为我们生成一个强密码。
不要忘记保存此密码。
我们也可以自己设置密码。
输入电子邮件地址,然后选择是否要阻止搜索引擎将编入索引(不建议)。
点击“安装WordPress”,安装完成后,我们将进入一个页面,通知我们已安装WordPress。
要访问WordPress登录页面,请单击“登录”按钮。
输入用户名和密码。
我们将被重定向到WordPress管理仪表板。
从这里开始,我们可以通过安装新主题和插件来自定义WordPress安装。