本文为历史版本,部分内容不建议已使用
安装lnmp
使用lnmp脚本或手动配置lnmp(Linux+Nginx+MySQL+PHP)环境。搭建完成后通过IP或域名访问站点,看到初始界面即为搭建成功。
设置Let’sEncrypt 泛域名SSL证书
cloudflare的API可以直接查看Global API Key
的值即可。
设置完API参数中Key、Secret等之类的参数后,使用lnmp onlyssl cf
生成证书并记录证书地址。
建立虚拟主机
参考添加虚拟主机教程使用lnmp vhost add
添加虚拟主机,添加SSL证书时选择刚刚申请到的泛域名SSL证书地址。
强制HTTPS
编辑刚刚设置的虚拟主机的nginx配置文件,地址是/usr/local/nginx/conf/vhost/域名.conf
。在server_name
后添加如下一行
rewrite ^ https://$server_name$request_uri? permanent;
然后使用/usr/local/nginx/sbin/nginx -s reload
重启nginx服务是修改生效。
配置Wordpress数据库
使用mysql -u root -p
正确输入安装lnmp时设置的root用户密码进入mysql,依次执行以下命令创建一个名为“wordpress”的数据库,配置一个密码为”your password”的用户“wordpress”赋予操作权限并退出。
CREATE DATABASE wordpress;
CREATE USER wordpress@localhost;
SET PASSWORD FOR wordpress@localhost=PASSWORD("your password");
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'your password';
FLUSH PRIVILEGES;
QUIT;
安装Wordpress
cd
到刚刚添加的虚拟主机目录,下载Wordpress:
wget http://wordpress.org/latest.tar.gz
如果需要中文版,在这里获取需要下载的链接后下载,如:
wget https://cn.wordpress.org/wordpress-5.3.2-zh_CN.tar.gz
然后使用tar -xzvf filename.tar.gz
解压并移动Wordpress,接着使用 mv ./wordpress/* ./
移动内容到正确位置,最后手动删除安装包
配置Wordpress
重命名示例文件为wp-config
并修改内容,修改的内容包括DB_NAME,DB_USER,DB_PASSWORD以及下面的唯一key,其中前三个是在自己配置等数据库,唯一key可以直接去它提供的网站上拷贝。修改完成后在文末添加:
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
最后执行执行chmod www:www ./*
配置权限,至此建站完成。
插件推荐
- Akismet Anti-Spam:安装包自带的清理垃圾评论插件,简单设置后可免费使用
- BackWPup:一个方便好用的备份插件,可以直接同步备份内容到Dropbox
- ezPHP:使文章中支持插入php代码
- Disable Gutenberg、经典编辑器:可以通过这两个插件禁用Wordpress5.0的新版编辑器使用旧的经典编辑器
- Canvas-Nest.js:给网站添加如本站的背景
- WP Statistics:访客统计插件
- WP Githuber MD:一个好用的Markdown语法支持插件,可惜不支持LaTeX公式
- athJax-LaTeX:使文章支持LaTeX插入公式,可借助这个网站在线生成LaTeX代码
- CodeColorer:代码高亮插件,详细用法可参考这篇文章。在本站改用Markdown编写文章后舍弃了使用。
- Canvas-Nest.js:如本站现在使用的背景样式的小玩具
- WPJAM:国人开发的一款优秀插件,这里是发布页,功能非常多。
- Easy Table of Contents:本站正在使用的目录插件。
美化相关
- 网站运行时间,在主题编辑器中找到
footer.php
,找到控制你页脚的相关代码,加入下面的内容
javascript
<!--以下为计时功能代码-->
<script language="javascript">
function tick() {
var years,days,hours, minutes, seconds;
var openday = new Date('2018/10/06 11:17:21'); //这里填写建站时间
var today = new Date(); //获取系统当前时间
var total = (today.getTime()-openday.getTime())/1000;
years=Math.floor(total/31536000);
total=total-years*31536000;
days=Math.floor(total/86400);
total=total-days*86400;
hours=Math.floor(total/3600);
total=total-hours*3600;
minutes=Math.floor(total/60);
total=total-minutes*60;
seconds=Math.floor(total);
timeString = "网站运行:"+years+"年"+days+"天"+hours+"时"+minutes+"分"+seconds+"秒";
document.getElementById("Clock").innerHTML = timeString;
window.setTimeout("tick();", 1000);
}
window.onload = tick;
</script>
<span id="Clock" style="color: #69ddfc"></span><br/>
<!--以上为计时功能代码-->
-
外链Go跳转提高网站权重。在根目录下建立
go.php
,内容如下。<?php /**
* Created by PhpStorm.
* User: Flyzy
* Date: 2018/1/14
* Time: 19:59
*/
$t_url = preg_replace( '/^url=(.*)$/i', '$1', $_SERVER["QUERY_STRING"] );
if ( ! empty( $t_url ) ) {
preg_match( '/(http|https):\/\//', $t_url, $matches );
if ( $matches ) {
$url = $t_url;
$title = '页面加载中,请稍候...';
} else {
preg_match( '/\./i', $t_url, $matche );
if ( $matche ) {
$url = 'http://' . $t_url;
$title = '页面加载中,请稍候...';
} else {
$url = 'https://www.flyzy2005.com';
$title = '参数错误,正在返回首页...';
}
}
} else {
$title = '参数缺失,正在返回首页...';
$url = 'https://www.flyzy2005.com';
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="1;url='<?php echo $url; ?>';">
<title><?php echo $title; ?></title>
<style>
body {
background: #000
}
.loading {
-webkit-animation: fadein 2s;
-moz-animation: fadein 2s;
-o-animation: fadein 2s;
animation: fadein 2s
}
@-moz-keyframes fadein {
from {
opacity: 0
}
to {
opacity: 1
}
}
@-webkit-keyframes fadein {
from {
opacity: 0
}
to {
opacity: 1
}
}
@-o-keyframes fadein {
from {
opacity: 0
}
to {
opacity: 1
}
}
@keyframes fadein {
from {
opacity: 0
}
to {
opacity: 1
}
}
.spinner-wrapper {
position: absolute;
top: 0;
left: 0;
z-index: 300;
height: 100%;
min-width: 100%;
min-height: 100%;
background: rgba(255, 255, 255, 0.93)
}
.spinner-text {
position: absolute;
top: 50%;
left: 50%;
margin-left: -90px;
margin-top: 2px;
color: #BBB;
letter-spacing: 1px;
font-weight: 700;
font-size: 36px;
font-family: Arial
}
.spinner {
position: absolute;
top: 50%;
left: 50%;
display: block;
margin-left: -160px;
width: 1px;
height: 1px;
border: 25px solid rgba(100, 100, 100, 0.2);
-webkit-border-radius: 50px;
-moz-border-radius: 50px;
border-radius: 50px;
border-left-color: transparent;
border-right-color: transparent;
-webkit-animation: spin 1.5s infinite;
-moz-animation: spin 1.5s infinite;
animation: spin 1.5s infinite
}
@-webkit-keyframes spin {
0%, 100% {
-webkit-transform: rotate(0deg) scale(1)
}
50% {
-webkit-transform: rotate(720deg) scale(0.6)
}
}
@-moz-keyframes spin {
0%, 100% {
-moz-transform: rotate(0deg) scale(1)
}
50% {
-moz-transform: rotate(720deg) scale(0.6)
}
}
@-o-keyframes spin {
0%, 100% {
-o-transform: rotate(0deg) scale(1)
}
50% {
-o-transform: rotate(720deg) scale(0.6)
}
}
@keyframes spin {
0%, 100% {
transform: rotate(0deg) scale(1)
}
50% {
transform: rotate(720deg) scale(0.6)
}
}
</style>
</head>
<body>
<div class="loading">
<div class="spinner-wrapper">
<span class="spinner-text">页面加载中,请稍候...</span>
<span class="spinner"></span>
</div>
</div>
</body>
</html>然后在在主题编辑器中找到
functions.php
,在末尾添加如下内容即可:add_filter('the_content','the_content_nofollow',999); function the_content_nofollow($content) {
preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches);
if($matches){
foreach($matches[2] as $val){
if(strpos($val,'://')!==false && strpos($val,home_url())===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val)){
$content=str_replace("href=\"$val\"", "href=\"".home_url()."/go.php?url=$val\" target=\"_blank\"",$content);
}
}
}
return $content;
}3.