Debian+Nginx+Php+Wordpress+Maria
首先在国内阿里云,国外Amazon,Google,Azure上免费注册或者购买VPS。
以下是在GOOGLE上免费注册的VPS,操作系统为Debian10上搭建wordpress。
进去VPS,已管理员身份运行,输入命令如下
sudo su
安装编译环境和一些必要工具
apt-get update
apt-get upgrade
Nginx 安装
apt-get install nginx
安装完 默认的web文件夹为 /var/www/html
运行Nginx并检测
systemctl start nginx
curl -I 127.0.0.1
显示如下正常命令
HTTP/1.1 200 OK
Server: nginx/1.13.12
Date: Thu, 31 May 2018 16:39:32 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 09 Apr 2018 16:01:09 GMT
Connection: keep-alive
ETag: "5acb8e45-264"
Accept-Ranges: bytes
Php7.3 安装
apt-get install php7.3
- 安装必要库
apt-get install php7.3-fpm php7.3-cgi php7.3-curl php7.3-gd php7.3-xml php7.3-xmlrpc php7.3-mysql php7.3-bz2
- 安装非必要库
apt-get install php7.3-bcmath php7.3-gmp php7.3-mbstring php7.3-readline php7.3-zip
安装MariaDB
apt install mariadb-server
配置Nginx与PHP
- 修改PHP参数
打开 php-fpm配置文件 /etc/php/7.3/fpm/php.ini
vim /etc/php/7.3/fpm/php.ini
找到 cgi.fix_pathinfo 参数,改为:
cgi.fix_pathinfo=0
vim 的查找指令
/cgi.fix_pathinfo
查看PHP监听方式
vim /etc/php/7.3/fpm/pool.d/www.conf
打开上面配置文件,找到 user 和 listen
可以看到 PHP 的用户是 www-data,请记住这个用户名
修改Nginx配置文件
打开 Nginx 配置文件:
vim /etc/nginx/nginx.conf
打开配置文件,看第一行
user www-data;
worker_processes auto;
这里可以看到第一行的 user 为 www-data,跟 php 一致,如果不一致,我们把它改成与 php 一致。 改为 www-data 。 除此之外,我们把 gzip 功能打开,如果被注释,那么把注释符号(#)去掉即可。
gzip on;
下面打开nginx和php相关的配置:
vim /etc/nginx/sites-enabled/default
找到php配置,修改如下:
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
- 配置完PHP后,设置网站根目录和域名
root /var/www/html/wordpress;
server_name wordpress域名
root为wordpress网站根目录
server_name为wordpress域名
配置完php,重启nginx服务
nginx -s reload
检测Nginx和PHP配置
可以看到,在配置文件中,我将 root 路径设置为 /var/www/html/wordpress 。因此,创建该文件夹,添加 PHP 测试文件,并修改用户与用户组为 www-data 。
cd /var/www/html/
mkdir wordpress
echo -e "<?php\nphpinfo();\n?>" | tee wordpress/index.php
chown -R www-data.www-data wordpress/
打开浏览器,输入IP地址,如果页面显示 PHP 信息,则说明配置成功啦。如果提示了各种错误的话,请仔细检查配置文件。
配置MariaDB
- MariaDB初始化
执行以下命令进行初始化:
mysql_secure_installation
...
Enter current password for root (enter for none):
...
Set root password? [Y/n] Y
New password:
Re-enter new password:
...
Remove anonymous users? [Y/n] Y
...
Disallow root login remotely? [Y/n] Y
...
Remove test database and access to it? [Y/n] Y
...
Reload privilege tables now? [Y/n] Y
...
Thanks for using MariaDB!
cd /etc/mysql/mariadb.conf.d
vi 50-server.cnf
#dend-adress
注释掉绑定IP地址,可以远程访问
如果选中,脚本将重新加载权限表,确保更改立即生效。
所有步骤都会详细解释,建议对所有问题回答“Y”。
为WordPress建立一个数据库
- 登陆MariaDB
mysql -u root -p
- 创建一个用户:
create user 'user_wordpress'@'localhost' identified by 'yourpassword';
user_wordpress 可以改为你喜欢的用户名, yourpassword则是该用户的密码
- 创建一个数据库:
create database db_wordpress default charset utf8 collate utf8_general_ci;
db_wordpress 可以改为你喜欢的库名,utf8 和 utf8_general_ci 是为了设置该数据库使用的字符集。
- 给 user_wordpress 用户添加库 db_wordpress 的操作权限:
grant all privileges on db_wordpress.* to 'user_wordpress'@'localhost' identified by 'yourpassword';
flush privileges;
注意,请记住用户名、密码、以及库名,在配置 WordPress 的时候需要填写
- 退出
exit
安装WordPress并配置
- 安装WordPress
下载并解压 WordPress 包:
首先安装wget
apt-get install wget
进入网站根目录,删除原先测试的文件夹,再进行下载
cd /var/www/html
rm wordpress -r
- 获取并安装wordpress
wget http://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
解压缩后,给wordpress根目录赋予www-data用户的读写权限
chown -R www-data.www-data wordpress/