前言
虽然说现在建站,使用Linux系统搭建Wordpress环境的有不少。但是在Windows下搭建的却较少。因此这里就把在Windows系统下搭建Wordpress环境的教程写一下,希望能有所帮助。
之前我在阿里云的云翼计划那里,购买了一台轻量应用服务器,配置如下:
- CPU:1核
- RAM:2GiB
- 硬盘:40GiB
- 带宽:5Mbps(上行)
- 流量限额:1TB/月
总的来说,这个配置建站挺合适的。
当时购买的时候选择安装的是Windows Server 2012 R2操作系统,经过一年半载的使用,上面已经积累了很多数据,一时半会没法迁移,因此就将计就计,在这里建起了站来。
请注意:本文假设你已经有了建站所需要的东西(服务器,域名,SSL证书等等)。如果没有的话,网上有购买的教程,这里就不再赘述了。
安装HTTP服务器软件
说到HTTP服务器软件,不得不提的就是巨硬的IIS。IIS拥有图形界面,操作简单快捷,非常适合初学者快速上手。同时,由于有巨硬撑场,很多大网站也在使用IIS。
但是我们今天的主角不是IIS,而是Nginx。根据维基百科上的描述:
另外,更重要的原因是:nginx的某些功能比IIS强大。例如Rewrite功能,这是实现站点伪静态的基础。
下载nginx
nginx可以到nginx官网下载,在下载时,注意选择Windows版本:
如图画面黄色处所示
一般来说,下载操作可以在服务器上完成(阿里云默认入站线路可是100Mbps的啊,不要白不要)
下载,解压到任意一个目录(本文假设解压在C:/ForHTTP/nginx里面,**下文简称nginx/**)后,目录结构应该类似于这个:
在里面新建一个run_nginx.bat文件,输入以下内容:
@echo off
rem 关闭以前的nginx
taskkill /f /t /im nginx.exe
echo 启动nginx......
nginx -c conf\nginx.conf
pause
rem pause一下,以防错误信息还没显示出来,cmd窗口就关闭了
保存好之后,双击这个文件,应该会看到类似内容:
请不要太纠结前三行,有前三行是因为之前运行过nginx
如果没有看到报错信息,就说明Nginx启动成功了。
打开浏览器,输入服务器的公网IP/域名(别忘了调整防火墙的相关规则),是不是已经可以看到nginx的欢迎界面了?
修改配置文件
你可能会想:诶,nginx的欢迎页放在哪里了呢?
现在,你进入nginx/html,看到什么了吗?
没错,这就是nginx的欢迎页,也就是默认的根目录。我们可以新建一个别的目录,例如C:/ForHTTP/WordPress(下文简称WordPress/)
那么,如何让nginx知道这个是网站根目录呢?实际上,nginx的所有配置,都依赖配置文件来进行。
默认的配置文件在nginx/conf/nginx.conf,打开看看,里面已经有了很多内容。
这里就把亲测比较好用的配置文件放出来供大家参考,在实际应用中请注意修改部分内容,否则无法正常工作。
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
server{
#--在这里开始的是HTTPS配置内容,如果不需要HTTPS,请把listen 443 ssl改为listen 80,并删除ssl配置。
listen 443 ssl;
server_name <改为你的域名>;
ssl_certificate <证书文件路径(pem/cer文件)>;
ssl_certificate_key <证书key文件路径>;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#--SSL配置到此结束
index index.php index.html; #默认主页
#最大能够上传的文件,POST的数据的大小
client_max_body_size 30M;
#网站根目录
root C:/ForHTTP/WordPress;
location / {
#网页伪静态配置
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
}
#PHP配置
location ~\.php$ {
root C:/ForHTTP/WordPress;
fastcgi_pass 127.0.0.1:9000; #假设PHP-CGI运行在9000端口
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server{
#对于HTTP请求,全部跳转到HTTPS进行处理
#同样的,如果不需要HTTPS,请同时移除这一部分的内容
listen 80;
server_name <你的网站的域名>;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
}
保存好配置文件后,关闭刚刚我们打开的cmd窗口,再次双击刚刚创建的run_nginx.bat文件。如果没有出错信息,那么恭喜:Nginx已经正确跑起来了
安装PHP
WordPress依赖PHP,因此我们需要在机器上安装PHP,并和Nginx连接在一起,这样Nginx才能正确处理PHP内容。
下载PHP主程序
和Nginx类似,PHP也可以在其官网下载到:
下载下来之后,应该是这样子的:
调整配置文件
在这些文件里面,有个叫php.ini-development的文件,将它重命名为php.ini,用记事本或者Notepad2或者VSCode打开,内容类似如此:
我们要做的,就是修改里面的几个项目,让他更适合我们使用
;cgi.fix_pathinfo=0
改为
cgi.fix_pathinfo=1
upload_max_filesize = 2M
改为
upload_max_filesize = 30M ;可以根据实际情况调整
post_max_size = 4M ;记不清了反正是差不多的
改为
post_max_size = 32M ;可以比上面的稍大一些
;extension=curl
;extension=mbstring
;extension=mysqli
;extension=openssl
;extension=gd2
;extension=exif
;extension=fileinfo
这几项前面的分号全部去掉,变成
extension=curl
extension=mbstring
extension=mysqli
extension=openssl
extension=gd2
extension=exif
extension=fileinfo
修改完后保存
接着,再在这个目录下,新建一个run_php_cgi.bat文件,在里面输入:
@echo off
:runagain
echo 启动PHP-CGI.........
php-cgi -b 127.0.0.1:9000 -c php.ini
rem 还记得Nginx配置文件里面的,PHP配置项的9000吗?
goto runagain
rem 硬核挂了重启
保存后双击,如果cmd窗口出现一行“启动PHP-CGI………”就没反应了,就说明PHP启动成功
回到WordPress/目录下,在里面新建一个phpinfo.php文件,输入:
<?php
phpinfo();
?>
并保存。
现在,用浏览器打开:http://<你的机器的公网IP/域名>/phpinfo.php
如果看到类似的信息:
恭喜:PHP安装成功
安装MySQL
WordPress依赖数据库,因此我们需要安装MySQL
注意:MySQL并不是越新越好。实测(不知道是什么原因),MySQL8.0无法正常工作,WordPress提示连不上数据库。换成MySQL5.7,一切正常
照理,我们可以RDP到服务器上,直接在上面下载:
MySQL57:https://dev.mysql.com/downloads/windows/installer/5.7.html
注意:上面的是在线版,下面的是离线版。建议安装在线版。
下载下来是一个msi文件,双击打开,稍等一会,会看到如下界面:
选择Custom,下一步
根据你的系统选择对应的版本,一般选择x64都没问题,内存小的机器可以选择x86,然后点击绿色箭头。右边的方框里面,取消Development Components
下一步,再点击Execute,安装过程开始…….
等待一会,当Status一栏显示Complete之后,按Next一到两下,会出现类似界面:
基本上,按照图中方法配置,一般都不会有太大问题,配置好点击Next,开始设置Root密码。Root密码一定要牢记!!!!!
图中密码是abc123,好孩子不要学哦!
下一步,是服务配置:
基本可以保持不变,记住这个MYSQL57,一会要用
接下来,一路Next到底就行了,最后点击Execute,继续等待……直到:
好了,点击Finish,再按Next,再按Finnish,MySQL就装完了….
别急!
配置环境变量
兴冲冲的打开任务管理器,诶,里面没有MySQL诶
那是因为MySQL服务并没有运行起来,我们还要这么做:
打开环境变量配置窗口,在Path变量一项,看看末尾有没有英文分号,没有的话输入一个,然后再输入以下内容:
C:\Program Files\MySQL\MySQL Server 5.7\bin
如果你选择的是x86,那就输入:
C:\Program Files (x86)\MySQL\MySQL Server 5.7\bin
像这样:
黄色处是个英文分号,别漏了。英文分号后面才是要新增的内容。
点击确定,应用,确定,这样就好了。
新增数据表
打开一个CMD窗口,输入:
net start MYSQL57
回车,稍等,如果提示服务启动成功,那么就说明MySQL安装完毕
不要关闭这个窗口,继续输入:
mysql -u root -p
回车,按提示输入Root密码,再回车,就进入MySQL环境了:
接着,按如下流程操作:(句首的mysql>不用输入)
mysql> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO "root"@"localhost"
-> IDENTIFIED BY "<密码,可以用用户密码>";
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> EXIT
这样,我们就创建了一个名为wordpress的数据表
注意:在实际使用中,直接使用root用户是很不安全的!请先创建一个别的用户,再新建数据表!
安装WordPress
历尽千辛万苦,终于到了这一步。照例,还是到WordPress官网去下载就行了。
下载下来,解压。还记得我们设置为网站根目录的**WordPress/**目录吗?把解压出来的东西放进这个目录就行了:
接下来,在浏览器里面输入:
http://服务器域名/wp-admin/install.php
按照提示一步一步操作吧!WordPress的大门已经向你展开!
这一期就先到这里了。下一章将会介绍一些好用的WordPress技巧,敬请期待。