修改了一下网站的部署方式,从老虚主机服务器和nameslio域名迁移到了国内的阿里云上,并进行了国内的网站备案,备案时间大概一个多星期左右,总体来说备案还是挺方便的,也加大了网站的搜索率。
操作场景
WordPress 是一款常用的搭建个人博客网站软件,该软件使用 PHP 语言开发。您可通过在服务器的简单操作部署 WordPress,发布个人博客。
基本步骤
搭建 LNMP 环境LNMP 是 Linux、Nginx、MariaDB 和 PHP 的缩写,这个组合是最常见的 Web 服务器的运行环境之一。在创建并登录云服务器实例之后,您可以开始进行 LNMP 环境搭建。
LNMP 组成说明:
- Linux:Linux 系统
- Nginx:Web 服务器程序,用来解析 Web 程序
- MariaDB或者Mysql:一个数据库管理系统, 注释:本网使用的是mysql
- PHP:Web 服务器生成网页的程序
默认已获取 root 权限。在 root 权限下,根据以下步骤分步安装
使用 yum 安装软件和配置
登录云服务器后,默认已获取 root 权限。在 root 权限下,根据以下步骤分步安装。
1.安装配置 Nginx
1.执行以下命令,安装 Nginx。
1 | yum -y install nginx |
2. 执行以下命令,打开nginx.conf文件
1 | vim /etc/nginx/nginx.conf |
3.按 “i” 或 “Insert” 切换至编辑模式,将 nginx.conf 文件中 server{…} 的内容替换成以下内容。用于取消对 IPv6 地址的监听,同时配置 Nginx,实现与 PHP 的联动。
1 | server { |
4.按 “Esc”,输入 “:wq”,保存文件并返回。
依次执行以下命令,启动 Nginx ,设置为开机自启动。
1 | systemctl start nginx |
5. 在浏览器中,访问 CentOS 云服务器实例公网 IP,查看 Nginx 服务是否正常运行。显示如下,则说明 Nginx 安装配置成功。
2.安装配置 PHP(分为7.2和7.3过程,7.3为最新版,7.2是上一版本较为稳定,可自行选择)
php7.2安装过程
1.执行以下命令,更新 yum 中 PHP 的软件源。
1 | rpm -Uvh https://mirrors.cloud.tencent.com/epel/epel-release-latest-7.noarch.rpm |
1 | rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm |
2.执行以下命令,查看可安装的 PHP7.2.19 的所有包
1 | yum search php72w |
3.执行以下命令,安装需要的包。
1 | yum -y install mod_php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-mysqlnd php72w-fpm.x86_64 |
4.依次执行以下命令,启动 PHP-FPM 服务,同时设置为开机自启动
1 | systemctl start php-fpm |
php7.3安装过程
1.首先安装 EPEL 源:
1 | yum install epel-release |
2. 安装 REMI 源:
1 | yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm |
3.安装 Yum 源管理工具:
1 | yum install yum-utils |
4.安装 PHP7.3及相关组件:
1 | yum install -y php73-php-fpm php73-php-cli php73-php-bcmath php73-php-gd php73-php-json php73-php-mbstring php73-php-mcrypt php73-php-mysqlnd php73-php-opcache php73-php-pdo php73-php-pecl-crypto php73-php-pecl-mcrypt php73-php-pecl-geoip php73-php-recode php73-php-snmp php73-php-soap php73-php-xmll |
php设置开机启动、运行服务:
1 | systemctl enable php73-php-fpm systemctl start php73-php-fpm |
验证 PHP-Nginx 环境配置
1.执行以下命令,创建测试文件。
1 | echo "" >> /usr/share/nginx/html/index.php |
2.在浏览器中,访问该index.php文件,查看环境配置是否成功
3.安装数据库可以选择Mysql或者 MariaDB选择其中一个即可
安装 Mysql(选择其中一种数据库安装即可)
1.在 CentOS 7 中的 yum 源中是没有 Mysql 的,其默认数据库是 MariaDB;可以通过以下命令行进行下载安装:
1 | sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm yum install mysql mysql-server mysql-libs mysql-server |
2.再将其服务重新启动:
1 | systemctl restart mysql.service |
3.键入以下命令行,测试 Mysql 是否安装成功:
1 | mysql -u root -p |
4.默认是没有密码的,回车进入,当看见以下情况证明安装成功
5.Mysql 安装好后,以 root 账号登录进去,默认是没有密码的,直接回车就行;那么我们顺带说一下如何修改其默认密码:首先,选中 mysql 数据库:
1 | use mysql; |
1 | update user set password=password('新密码') where user='root'; |
1 | #再,刷新用户权限列表 |
1 | flush privileges; |
6.最后键入 exit 退出,在重新输入 mysql -u root -p 登录试试,能登录进去即为成功。
7.开机默认启动Mysql 服务
1 | systemctl restart mysqld.service systemctl enable mysqld.service |
8.再次登录mysql创建数据库
1 | create database wordpress; |
安装 MariaDB(选择其中一种数据库安装即可)
1.执行以下命令,查看系统中是否存在 MariaDB 现有包。
1 | rpm -qa | grep -i mariadb |
2.返回结果类似如下内容,则表示已存在 MariaDB,请执行步骤3。
3.执行以下命令,删除 MariaDB 现有包
1 | yum -y remove 包名 |
4.执行以下命令,在 /etc/yum.repos.d/ 下创建 MariaDB.repo 文件。
1 | vi /etc/yum.repos.d/MariaDB.repo |
5.按 i 切换至编辑模式,写入并保存以下内容
1 | # MariaDB 10.4 CentOS7-amd64 [mariadb] name = MariaDB baseurl = http://mirrors.cloud.tencent.com/mariadb/yum/10.4/centos7-amd64/ gpgkey = http://mirrors.cloud.tencent.com/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck=1 |
6.执行以下命令,清除 yum 缓存。
1 | yum clean all |
7.执行以下命令,安装 MariaDB。
1 | yum -y install MariaDB-client MariaDB-server |
8.依次执行以下命令,启动 MariaDB 服务,并设置为开机自启动。
1 | systemctl start mariadb systemctl enable mariadb |
9.配置 MariaDB注意:
- 针对首次登录 MariaDB 的用户须执行此步骤设置登录密码,如已设置过 MariaDB 登录密码,请跳过此步骤。
- 根据 MariaDB 版本,设置用户身份验证方式有一定区别,具体步骤请参见 MariaDB 官网。
10.执行以下命令,进入 MariaDB。
1 | mysql |
11.执行以下命令,设置 root 用户身份验证方式。
1 | ALTER USER root@localhost IDENTIFIED VIA mysql_native_password; |
12.执行以下命令,设置 root 用户登录密码。
1 | SET PASSWORD = PASSWORD('此处填写密码'); |
13.显示结果如下,则已成功设置。
14.执行以下命令,退出 MariaDB。
1 | \q |
4.安装 WordPress
1.WordPress 可从 WordPress 官方网站 下载 WordPress 最新中文版本并安装,本教程采用 WordPress 中文版本。
1 | https://cn.wordpress.org/download/releases/ |
2.执行以下命令,删除网站根目录下用于测试 PHP-Nginx 配置的index.php文件
1 | rm -rf /usr/share/nginx/html/index.php |
3.依次执行以下命令,进入/usr/share/nginx/html/目录,并下载与解压 WordPress。
1 | cd /usr/share/nginx/html wget https://cn.wordpress.org/wordpress-5.0.4-zh_CN.tar.gz tar zxvf wordpress-5.0.4-zh_CN.tar.gz 把文件复制到 /var/www/html 目录下 cp -rf wordpress/* /usr/share/nginx/html/ |
4.写入数据库信息
1 | cd /usr/share/nginx/html cp wp-config-sample.php wp-config.php |
5.执行以下命令,打开并编辑新创建的配置文件。
1 | vim wp-config.php |
6.按 “i” 或 “Insert” 切换至编辑模式,找到文件中 MySQL 的部分,将 配置数据库 中已配置好的数据库相关信息写入。
1 | // ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'user'); /** MySQL database password */ define('DB_PASSWORD', 'wordpresspassword'); /** MySQL hostname */ define('DB_HOST', '127.0.0.1'); |
7.改完成后,按“Esc”,输入“:wq”,保存文件返回。
验证 WordPress 安装
在浏览器地址栏输入云服务器实例的公网 IP 加上 worspress 文件夹,
1 | http://192.xxx.xxx.xx /wordpress |
修改wordpress设置
1.主题插件登无法安装的请设置ftp进入wp-content目录,新建tmp文件夹,设置文件夹的权限为777。返回网站根目录,编辑wp-config.php
1 | vi wp-config.php #在文件后加入 define('WP_TEMP_DIR',ABSPATH.'wp-content/tmp'); define("FS_METHOD","direct"); define("FS_CHMOD_DIR",0777); define("FS_CHMOD_FILE",0777); |
2.xml无法上传的安装php-xml,使用服务器php能解析xml文件。
1 | yum -y install php70w-xml #根据php版本定若已经安装可以不用安 |
1 | systemctl restart nginx.service 或 systemctl restart httpd.service systemctl restart php-fpm.service |
3.修改固定链接后无法问
打开编辑nginx的配置文件
1 | vim/etc/nginx/nginx.conf |
按“i”或insert在server{}下的location/{}下添加一下代码
1 | if ($request_filename ~ (. |
1 | )/archives/[0-9] |
1 | $){<br> rewrite (/archives/[0-9] |
1 | $) $1.html permanent; } if (-f $request_filename/index.php){ rewrite (. |
1 | ) $1/index.php;<br> }<br> if (!-f $request_filename){<br> rewrite (. |
1 | ) /index.php; } if (-f $request_filename/index.html){ rewrite (. |
1 | ) $1/index.html break;<br> } |
“esc”退出“wq”保存并退出即可。c
4.WordPress自动生成缩略图, 节省网站空间
WordPress网站在上传图片附件时, 会自动生成各种尺寸的缩略图, 大都以*-300×300.jpg, *-150×150.jpg, *-120×120.jpg等后缀结尾, 方便编辑时调用. 但是当文章发布后未使用的缩略图不会被自动删除, 单张图片虽然不大, 但时间一长会积攒大量缩略图占用网站空间, 而且进FTP手动删除这些缩略图后又会自动生成, 本篇教你如何彻底禁止WordPress自动生成缩略图, 以节约备份和恢复网站时间.
(1) 媒体选项进入WP后台 – 设置 – 媒体, 将缩略图大小, 中等大小, 大尺寸中的宽度和高度全部设为0, 取消勾选总是裁剪缩略图到这个尺寸(一般情况下,缩略图应保持原始比例)
(2)上帝模式媒体选项中设置完后, 其实并没有完全禁止, 它还会自动生成一个768像素的缩略图, 因为WP4.4以上版本将这个尺寸写入在了options中.所谓上帝模式, 其实就是WordPress隐藏的全局设置, 在该页可以总览WordPress全局设置,还能开启一些只能进入数据库才能修改的设置.进入方法: http://你的域名/wp-admin/options.php然后使用Ctrl+F搜索medium_large_size_w, 将768改为0并保存即可.
(3)安装插件
插件名:Image Sizes
选择需要的禁止即可
5.nginx配置ssl证书实现https访问
1.下载ssl nignx的证书文件
2.在nginx的安装目录下新建文件夹
1 | mkdir /etc/nginx/cert |
3.将下载好的文件上传到该目录下
4.编辑nginx的配置文件
1 | vim /etc/nginx/nginx.conf |
按 “i” 或 “Insert” 切换至编辑模式,将 nginx.conf 文件中 server{…} 的内容替换成以下内容。
5.重启nginx服务器
1 | systemctl restart nginx |
6.修改wordpress的配置文件
1 | vim /usr/share/nginx/html/wp-config.php |
在末尾添加下面两行
1 | define('FORCE_SSL_LOGIN', true);<br> define('FORCE_SSL_ADMIN', true); |
7.登录后台页面在设置中修改固定链接为https://的前缀
以上即为在Centos7上安装wordpress的过程。