
以腾讯云服务器为例,新建实例时可以直接选择镜像市场中已经配置好的WordPress镜像,以下图中第二个镜像为例。若实例已创建并安装了默认的系统可以通过重装系统来更换镜像。
CentOS7.4 | LNMP
基于 CentOS 7.4 *** 作系统,LNMP 指的是一组软件包(Linux+Nginx+Mysql+PHP),它们是 WordPress 所依赖的软件包,完成他们的安装配置才能正常运行 WordPress. 点击查看该镜像的详细页面可以得到以下信息:
- Linux/CentOS 7.4, *** 作系统,可以换成别的诸如 Ubuntu Server、Debian
- Nginx 1.14.2,服务器软件,可以换成 Apache (即LAMP)
- Mysql 5.6,数据库软件,可以用 MariaDB 代替
- PHP 7.0,WordPress 基于PHP开发
- WordPress 5.0.2,本体啦
从其提供的文档可以找到:
- Mysql 的 root 账户初始密码为123456
- 提供 phpmyadmin 管理数据库(
http://服务器公网IP/phpmyadmin) - 有一个自己的页面 9panel 提供一些管理(
http://服务器公网IP/9panel)
可以发现现成镜像提供的方案应该说是很稳定 (老旧)的,敲键盘时 WordPress 最新版为5.2.3. 不过镜像的一些配置参数应该说是成熟的,值得学习一下的.
- 实例启动之后先访问 phpmyadmin (
http://服务器公网IP/phpmyadmin),输入 root 和初始的密码(这里是123456),然后修改默认的数据库 root 账户密码.
同时可以看到已经有一个名为wordpress的数据库,这就是我们的WordPress用到的数据库呀 - 然后再访问它的公网IP就可以进入著名滴五分钟安装界面啦!填写数据库连接的信息:
点击提交,如果数据库连接没有问题,就可以到下一步. - 这一步设置一下网站管理员的账户密码以及网站大标题,都是可以修改的.
点击安装,完成!
之后就是 WordPress 的一些设置美化什么的,又可以玩好多天的了.
因为对Ubuntu的 *** 作比较熟悉,所以这里就重装成Ubuntu Server 18.04 LTS.
系统默认已经安装了openssh server,直接用git bash远程 SSH 连接服务器,Ubuntu 默认是不开启 root 账户的,云服务器提供的账户是ubuntu.
ssh ubuntu@yourIPhere
输入密码连接成功,可以将远程电脑的RSA公钥复制到服务器下次免密码登录,当然首先得先生成密钥.
# optional
ssh-keygen
ssh-copy-id ubuntu@yourIPhere
登录服务器首先将 apt 源改为腾讯云内网地址.
# backup original file
sudo cp /etc/apt/sources.list /etc/apt/sources.list.default
# add new sources
sudo nano /etc/apt/sources.list # I hate vim
复制以下内容保存,通过内网访问腾讯云镜像服务器速度快而且不算外网流量.
# only for ubuntu 18.04
deb http://mirrors.tencentyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.tencentyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.tencentyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.tencentyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.tencentyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tencentyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.tencentyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tencentyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tencentyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.tencentyun.com/ubuntu/ bionic-backports main restricted universe multiverse
更新一下升级一下软件包.
sudo apt update
sudo apt upgrade
2.2 安装配置依赖软件包
安装依赖的软件包,Nginx, MariaDB, php.
sudo apt install nginx
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.tencentyun.com/mariadb/repo/10.4/ubuntu bionic main'
sudo apt install mariadb-server mariadb-client
sudo apt install php7.2-fpm php7.2-mysql
修改 Nginx 的配置文件/etc/nginx/nginx.conf,删除注释后如下
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 51200;
multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
配置表明 worker 进程的用户是www-data,还会从include /etc/nginx/conf.d/和include /etc/nginx/sites-enabled/两个文件夹读取配置,修改/etc/nginx/sites-enabled/default添加我们的服务器配置信息.
server {
listen 80 default_server; # port
listen [::]:80 default_server;
root /var/www/html; # root dictionary
index index.php index.html index.htm index.nginx-debian.html; #
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}
由上到下分别是设置监听端口、网站的根目录地址、索引的主页、服务器名字、以及定义不同相对 url 地址的处理. 最后是对 php 文件的处理,通过 fastcgi 接口交给 php. 这里要确认/var/run/php/php7.2-fpm.sock这个文件的存在以及名字的正确.
这样,通过浏览器访问外网地址应该就可以看到 Nginx 的提示页面了. 可以在/var/www/html中新建一个文件info.php,输入以下内容:
phpinfo();
?>
访问http://IP/info.php,可以看到一个 php 的信息页面. 不过这个文件最后最好删除,因为会暴露一些服务器信息.
最后配置数据库.
MariaDB 与 Mysql 其实差不多,异同请百度. 初次安装执行mysql_secure_installation进行安全的配置:
mysql_secure_installation
按照提示:
- 设置 root 密码
- 删除匿名账户
- 禁止 root 远程登录(y/n)
- 删除 test 数据库
- 重新加载权限表
为 WordPress 创建账户及数据库
# log in as root
mysql -uroot -p
# enter root password
# shell will show a prompt : MariaDB [(none)]>
# create a db named wordpress for the site
create database wordpress;
# create a user named wpuser only for wordpress
create user wpuser;
# set password
set password for wpuser=password("your password");
# give wpuser all privileges of database wordpress
grant all privileges on wordpress.* to wpuser idnetified by "your password";
# refresh
flush privileges;
#exit
\q
以上创建了一个名为wpuser的账户作为 WordPress 连接数据库的账户,赋予只对 wordpress 数据库的权限.
最后,将所有服务重启加入自启动:
# reload nginx
sudo nginx -s reload
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start php7.2-fpm
sudo systemctl enable php7.2-fpm
sudo systemctl start mariadb
sudo systemctl enable mariadb
2.3 安装WordPress
下载 WordPress 到用户目录,解压到服务器root目录/var/www/html
cd
mkdir download
wget https://cn.wordpress.org/wordpress-5.2.3-zh_CN.tar.gz
sudo tar -vxf download/wordpress-5.2.3-zh_CN.tar.gz -C/var/www/html
编辑 wordpress 目录下的wp-config.php
cd /var/www/html/wordpress
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
更新以下信息,这与之前自动安装 WordPress 时网页上填写的内容一致,配置该文及即可跳过那一步
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'your password' );
define( 'DB_HOST', 'localhost' );
修改 wordpress 目录的权限,原始的权限配置可能会导致网站无法上传图片、安装插件需要FTP登录等问题
cd /var/www/html
sudo chown -R www-data:www-data wordpress
这里的www-data即是之前nginx配置中的用户名,将wordpress目录及所有文件的所有者改为www-data.
WARNING:这里的权限配置牵扯到安全性,可能不完善,待我学习研究过后再来更新
最后,访问http://IP/wordpress完成最后的安装!
注意,按当前配置访问网站必须要加 wordpress,若想 ip/域名 直接访问可以将前面nginx配置中的root修改为/var/www/html/wordpress.
- 应该是不需要安装
php7.2这个包的 - html文件夹中的路径要与URL中的一致,nginx配置文件也一样
- WordPress 网上说安装 disable google fonts 这个插件可以加速,我反正没感觉
- linux查看时间设置时区:
date
tzselect
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 解压缩
tar -vxf ... - 更新WordPress 提示另一个更新正在进行,数据库 wp_options 表中,在 option_name 字段找到 core_updater.lock记录删除或
delete from wp_options where option_name='core_updater.lock';
- Nginx 测试配置文件
sudo nginx -t /etc/nginx/nginx.conf
TODO
- 安全性
参考 Nginx、WordPress 官方文档以及镜像的配置文件,修改现在的配置,权限的管理,提升整体的安全性 - 快速性
优化,提高打开速度 - 定制界面
主题似乎都不太符合我的胃口,学习一下CSS+HTML+JAVASCRIPT+PHP,以及美术 - 换成固定链接
- 买个域名
- 填充内容
The End!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)