本文为历史版本,部分内容不建议已使用

安装lnmp

使用lnmp脚本或手动配置lnmp(Linux+Nginx+MySQL+PHP)环境。搭建完成后通过IP或域名访问站点,看到初始界面即为搭建成功。

设置Let’sEncrypt 泛域名SSL证书

参考链接: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 ./*配置权限,至此建站完成。

插件推荐

  1. Akismet Anti-Spam:安装包自带的清理垃圾评论插件,简单设置后可免费使用
  2. BackWPup:一个方便好用的备份插件,可以直接同步备份内容到Dropbox
  3. ezPHP:使文章中支持插入php代码
  4. Disable Gutenberg、经典编辑器:可以通过这两个插件禁用Wordpress5.0的新版编辑器使用旧的经典编辑器
  5. Canvas-Nest.js:给网站添加如本站的背景
  6. WP Statistics:访客统计插件
  7. WP Githuber MD:一个好用的Markdown语法支持插件,可惜不支持LaTeX公式
  8. athJax-LaTeX:使文章支持LaTeX插入公式,可借助这个网站在线生成LaTeX代码
  9. CodeColorer:代码高亮插件,详细用法可参考这篇文章。在本站改用Markdown编写文章后舍弃了使用。
  10. Canvas-Nest.js:如本站现在使用的背景样式的小玩具
  11. WPJAM:国人开发的一款优秀插件,这里是发布页,功能非常多。
  12. Easy Table of Contents:本站正在使用的目录插件。

美化相关

  1. 网站运行时间,在主题编辑器中找到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/>
    <!--以上为计时功能代码-->
  2. 外链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.

作者 Assaultcore

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注