小知识:如何用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账户,那么数据库中的所有表都会被暴露。

?
1
2
3
4
5
// 创建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方式安装,非常简单。

安装:

?
1
yum -y install nginx;

启动:

?
1
systemctl start nginx.service;

两个步骤就完成了nginx的安装。

4.安装php

4.1 php安装

?
1
yum -y install php;

php安装非常简单,安装完成之后,执行以下命令查看,显示版本,则说明安装正确:

?
1
php -v;

4.2 php-fpm 安装

除了php之外,我们还需要用到两个东西,fast-cgi和php-fpm。那么这两样东西是什么呢?如果想了解详情的,可以看 这里 ,简单的说fpm就是fastcgi的一个管理器。在此之前我一直不知道需要安装fpm才能正确解析php文件的,折腾了很长的一段时间。

?
1
2
3
4
5
6
7
yum install php-fpm;
//查看是否安装成功
php-fpm -v;
启动php-fpm
systemctl start php-fpm;

fpm默认占用的是9000端口。

5.安装wordpress

?
1
2
3
4
wget https://wordpress.org/latest.tar.gz;
//解压
tar -xzf latest.tar.gz -C /var/www/html;

解压完成之后,找到:/wordpress/wp-config-sample.php文件,修改数据库名称、用户名、密码,字段如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
// ** 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

以下是我的配置,可以参考:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# * 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 。这款插件相对普通用户来说显得简单易用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.jianshu.com/p/0b6ab5406018

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:详解如何在 docker 容器中捕获信号

2023-4-12 23:56:24

建站知识

小知识:Nginx的安装和多域名配置的实现方法

2023-4-13 1:04:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索