如何⽤nginx配置wordpress的⽅法⽰例
之前,我曾⾃⼰搭建过Wordpress,只不过那时候⽤的是第三⽅的虚拟主机,⼀台机器上可能有⼏⼗个⽹站。那时候的虚拟机还没做到物理层⾯的隔离,⼀个⽹站占⽤资源可能会导致所有⽹站宕机。
最近尝试了下在阿⾥云ecs上搭建了独⽴的wordpress,记录下搭建的过程。
原先我想尝试使⽤apache作为wordpress的容器,⽤nginx作为反向代理直接代理到apache。但是在我使⽤了apache后,发现了⼀个问题,直接使⽤nginx作为反向代理,转到apache后,url伪静态貌似⽆法访问,好像需要对每⼀个url进⾏nginx的location配置,感觉太过⿇烦,就放弃了。
当然也有可能有其他解决⽅法,不过我没尝试,后来我查询了下nginx是可以利⽤第三⽅插件⽀持php的。直接利⽤nginx做容器也有优点,部署起来相对简单,多个⽹站也可以直接通过nginx单个容器进⾏部署。
1.域名购买
这个就不多讲了,去域名平台申请域名。
安装mysql的⽅法我之前已经讲过,具体可以看。安装完成之后,我们需要为wordpress建⽴⼀个单独的账户,为什么要建⽴⼀个单独的账户呢?主要是为了安全考虑,如果wordpress被攻击了,⽽你使⽤了root账户,那么数据库中的所有表都会被暴露。
// 创建wordpress⽤户,并设置密码,密码建议随机⽣成,并且不少于8位,采⽤⼤⼩写,数字,特殊字符组合
CREATE USER 'wordpress'@'%' IDENTIFIED BY 'password';
//给予wordpress这个账户所有的操作权限,包含 select delete update insert create alter 等
GRANT all ON wordpress.* TO 'wordpress'@'%';
权限详细信息可以参考。
nginx采⽤yum⽅式安装,⾮常简单。
安装:
yum -y install nginx;
启动:
systemctl start nginx.service;
两个步骤就完成了nginx的安装。
4.安装php
4.1 php安装
yum -y install php;
wordpress安装首页php安装⾮常简单,安装完成之后,执⾏以下命令查看,显⽰版本,则说明安装正确:
php -v;
4.2 php-fpm 安装
除了php之外,我们还需要⽤到两个东西,fast-cgi和php-fpm。那么这两样东西是什么呢?如果想了解
详情的,可以看,简单的说fpm就是fastcgi的⼀个管理器。在此之前我⼀直不知道需要安装fpm才能正确解析php⽂件的,折腾了很长的⼀段时间。
yum install php-fpm;
//查看是否安装成功
php-fpm -v;
启动php-fpm
systemctl start php-fpm;
fpm默认占⽤的是9000端⼝。
5.安装wordpress
wget /;
//解压
tar -xzf -C /var/www/html;
解压完成之后,到:/wordpress/wp-config-sample.php⽂件,修改数据库名称、⽤户名、密码,字段如下:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', '你的数据库名称');
/** MySQL database username */
define('DB_USER', '你的⽤户名');
/** MySQL database password */
define('DB_PASSWORD', '你的密码');
/** MySQL hostname */
define('DB_HOST', '你的host');
修改完成之后,把wp-config-sample.php的⽂件名改为:wp-config.php。
6.配置nginx
以下是我的配置,可以参考:
# * Official English Documentation: /en/docs/
# * Official Russian Documentation: /ru/docs/
upstream php {
#server unix:/tmp/php-cgi.socket;
#指向到fpm的默认9000端⼝,
server 127.0.0.1:9000;
}
server {
listen 80 ;
listen [::]:80 ;
server_name www.domain;
root /web/www.domain/;
index index.php;
location ~ \.php$ {
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
f;
fastcgi_intercept_errors on;
fastcgi_pass php;
}
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
}
7.安全设置
世界上⼤概有20%左右的⽹站⽤的是wordpress系统,这也导致wordpress成为了⿊客的攻击对象,安全问题不容忽视,⽆论对于个⼈还是企业。对于普通使⽤者有没有简单的⽅法让我们快速提升安全防护呢?我查看了⼏款安全插件,有这么⼀款插件可以帮助我们提升安全攻略,插件名是。这款插件相对普通⽤户来说显得简单易⽤。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论