如何用nginx配置wordpress的方法示例
之前,我曾自己搭建过Wordpress,只不过那时候用的是第三方的虚拟主机,一台机器上可能有几十个网站。那时候的虚拟机还没做到物理层面的隔离,一个网站占用资源可能会导致所有网站宕机。
最近尝试了下在阿里云ecs上搭建了独立的wordpress,记录下搭建的过程。
原先我想尝试使用apache作为wordpress的容器,用nginx作为反向代理直接代理到apache。但是在我使用了apache后,发现了一个问题,直接使用nginx作为反向代理,转到apache后,url伪静态貌似无法访问,好像需要对每一个url进行nginx的location配置,感觉太过麻烦,就放弃了。
当然也有可能有其他解决方法,不过我没尝试,后来我查询了下nginx是可以利用第三方插件支持php的。直接利用nginx做容器也有优点,部署起来相对简单,多个网站也可以直接通过nginx单个容器进行部署。
1.域名购买
这个就不多讲了,去域名平台申请域名。
2.mysql安装
安装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'@'%';
权限详细信息可以参考这里。
3.nginx安装
nginx采用yum方式安装,非常简单。
安装:
yum -y install nginx;
启动:
systemctl start nginx.service;
两个步骤就完成了nginx的安装。
4.安装php
4.1 php安装
yum -y install php;
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 https://wordpress.org/latest.tar.gz; //解压 tar -xzf latest.tar.gz -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: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/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.com; root /web/www.domain.com/; index index.php; location ~ \.php$ { #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi.conf; 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成为了黑客的攻击对象,安全问题不容忽视,无论对于个人还是企业。对于普通使用者有没有简单的方法让我们快速提升安全防护呢?我查看了几款安全插件,有这么一款插件可以帮助我们提升安全攻略,插件名是All In One WP Security & Firewall 。这款插件相对普通用户来说显得简单易用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- wordpress配置固定链接nginx访问404问题解决方法
- 如何快速掌握Nginx 安装与配置?这个方法可能有用!
- Nginx服务器https配置的方法示例
- Nginx配置虚拟主机示例方法
- Nginx中配置用户服务器访问认证的方法示例
- WordPress与Drupal的Nginx配置rewrite重写规则示例
- Nginx配置示例和方法(虚拟主机)
- wordpress配置固定链接nginx访问404问题解决方法
- wordpress配置固定链接nginx访问404问题解决方法
- nginx配置https的方法示例(免费证书)
- Nginx一个IP如何配置多个站点的方法教程
- Nginx实现if多重判断配置方法示例
- 如何将 Nginx 配置为Web服务器的方法
- Nginx环境下WordPress的多站点功能配置详解
- 如何在windows上配置并运行Nginx -- 配置实例篇
- nginx如何配置多站点
- 用Nginx如何配置运行无扩展名PHP文件或非.PHP扩展名文件
- nginx多站点配置方法集合
- .Net中FckEditor的配置和使用方法(含示例源码)
- Linux VPS上配置Nginx反向代理的方法