欢迎光临
我们一直在努力

服务器迁移日志之linux磁盘挂载

阿晨阅读(8)

前因

我有两台服务器,一台是18年4月份买的2核4G1M带宽的阿里云服务器,一台是年前双12买的4核8G5M带宽的腾讯云服务器3年,阿里云服务器快到期了,就打算把程序都迁移到新服务器上来,新服务器测试,现在也不需要了,就重装了linux系统。

系统盘挂载

系统换成了linux,之前顺带一起买的一个20G的云磁盘需要重新挂载到新系统上。磁盘挂载大致上可以分为以下几个步骤。

1.查看当前磁盘信息

执行fdisk -l 命令查看当前linux磁盘信息,默认应该是一个系统盘和一个待挂载的硬盘。

[root@instance-xxx ~]# fdisk -l
磁盘 /dev/vda42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b8163
设备       Boot      Start       End      Blocks    Id   System
/dev/vda1   *        2048    83886046    41941999+  83  Linux

磁盘 /dev/vdb5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
2.磁盘分区

fdisk /dev/vdb

[root@instance-xxx ~]# fdisk /dev/vdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x88504a48 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):p
磁盘 /dev/vdb5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbc3ca63f
设备 Boot      Start         End      Blocks   Id  System

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
   
Select (default p): p

分区号 (1-4,默认 1):1

起始 扇区 (2048-10485759,默认为 2048):2048

Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):

将使用默认值 10485759
分区 1 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):p
磁盘 /dev/vdb5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbc3ca63f

 设备 Boot      Start    End          Blocks   Id  System
/dev/vdb1       2048    10485759     5241856   83  Linux

命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
3.查看新分区
[root@instance-xxx ~]# fdisk -l

磁盘 /dev/vda42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b8163
 设备 Boot        Start         End      Blocks     Id  System
/dev/vda1   *     2048      83886046    41941999+  83  Linux

磁盘 /dev/vdb5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbc3ca63f
设备 Boot      Start         End      Blocks   Id  System
/dev/vdb1       2048    10485759     5241856   83  Linux
4.格式化分区

mkfs.ext4 /dev/vdb1

[root@instance-xxx ~]# mkfs.ext4 /dev/vdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310464 blocks
65523 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 
5.挂载磁盘到/www目录

mount /dev/vdb1 /www

6.写入分区信息自启动

echo /dev/vdb1 /www ext4 defaults 0 0 >> /etc/fstab

7.查看挂载情况

df -h

[root@instance-xxx ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/vda1        40G  1.7G   36G    5% /
devtmpfs        2.0G     0  2.0G    0% /dev
tmpfs           2.0G     0  2.0G    0% /dev/shm
tmpfs           2.0G   17M  2.0G    1% /run
tmpfs           2.0G     0  2.0G    0% /sys/fs/cgroup
tmpfs           396M     0  396M    0% /run/user/0
/dev/vdb1       4.8G   20M  4.6G    1% /mnt

WordPress移除后台底部版权和版本信息

阿晨阅读(13)

很多WordPress站点在使用过程中需要隐藏WordPress的字样,尤其是WordPress后台底部的两块,每个后台页面都存在,左侧是版权信息,右侧是WordPress版本号。接下来themebetter给大家提供一种解决方案,可以移除WordPress底部版权信息。

在主题的 functions.php 文件中加入以下代码:

/**
 * 移除WordPress后台底部左文字
 * https://themebetter.com/wordpress-delete-copyright.html
 */
add_filter('admin_footer_text', '_admin_footer_left_text');
function _admin_footer_left_text($text) {
	$text = '';
	return $text;
}

/**
 * 移除WordPress后台底部右文字
 * https://themebetter.com/wordpress-delete-copyright.html
 */
add_filter('update_footer', '_admin_footer_right_text', 11);
function _admin_footer_right_text($text) {
	$text = '';
	return $text;
}

移除版权固然很清爽,除非必要,否则不建议大家移除,也是对开发者的尊重。

WordPress固定链接设置技巧

阿晨阅读(148)

使用wordpress自己建站可以自定义文章URL结构。为网站链接提高美感、可用性和SEO优势。下面是官方给出的常规固定连接方式,默认是第一个动态链接。

其它链接形式或自定义结构需要空间支持伪静态,不同空间环境配置方法和规则不一样,可参考:

若需自定义链接,则可参巧官方结构标签:

%year% 年份,如2020;

%monthnum% 月份,如01;

%day% 日标,如02;

%hour% 小时 ,如21;

%minute% 分钟,比如41;

%second% 秒数,比如30;

%postname% 文章名,其值为撰写时指定的缩略名,不指定缩略名时是文章标题;

%post_id% 文章ID,比如18;

%category% 文章分类,子分类则“分类/子分类”这种形式;

%author% 作者名;

从SEO角度考虑,固定链接设置请遵守下面几点:

链接尽量按扁平化,不要超过三级,不要出现中文字符。

比如本站的自定义连接结构为:/%postid%.html

如何检测 Web 服务器是 Nginx 还是 Apache

阿晨阅读(215)

curl -I 127.0.0.1

清楚看出来是 openresty的服务平台。

但是如果看看百度呢?

curl -I https://www.baidu.com

可以看出是 bfe 估计是百度自己开发的。

wordpress安全防护之禁用xmlrpc.php的避免DDOS攻击的几种方法

阿晨阅读(1270)

早在2012 年 12 月 17 日一些采用 PHP 的知名博客程序 WordPress被曝光存在严重的漏洞,该漏洞覆盖WordPress 全部已发布的版本(包括WordPress 3.8.1)。该漏洞的 WordPress 扫描工具也在很多论坛和网站发布出来。工具可以利用 WordPress 漏洞来进行扫描,也可以发起DDoS 攻击。经过测试,漏洞影响存在 xmlrpc.php 文件的全部版本。

最近我也遇到了大规模的wordpress后台(wp-login.php)爆破,wordpress差点沦为了骇客手中的僵尸机。不过确实一种另类的wordpress暴力破解攻击。骇客利用xmlrpc.php文件来绕过wordpress后台的登录错误限制进行爆破。

一、修改主题functions.php文件

1、在文件内添加以下代码:

//禁用XML-RPC接口
add_filter('xmlrpc_enabled', '__return_false');

2、还可以用代码转向任意网址:

add_action('login_enqueue_scripts','login_protection');
function login_protection(){
if($_GET['root'] != 'zhuanxiang')header('Location: http://任意其他网站或者网站首页/');
}

然后我们自己登录时需要用:网站域名/wp-login.php?root=zhuanxiang,这个网址访问后台。

3、只关闭XML-RPC的pingback 端口

如果你还是用使用第三方客户端来管理Wordpress文章,那么可以只关闭XML-RPC的pingback 端口

//禁用XML-RPC的pingback接口
add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' );
function remove_xmlrpc_pingback_ping( $methods ) {
unset( $methods['pingback.ping'] );
return $methods;
}

以上代码放到主题的functions.php文件即可。

二、修改.htaccess文件

1、加入以下代码:

# protect xmlrpc
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

2、还可以让访问转向其他网址:

# protect xmlrpc
<IfModule mod_alias.c>
Redirect 301 /xmlrpc.php http://baidu.com
</IfModule>

三、修改服务器配置

1、nginx配置禁止访问该文件:

location ~* /xmlrpc.php {
deny all;
}

2、Apache配置禁止访问该文件:

<IfModule mod_alias.c>
Redirect 301 /xmlrpc.php http://baidu.com
</IfModule>

通过以上几种方法都可以实现禁止xmlrpc.php恶意访问的目的,具体使用哪一种各位可以自己选择。

WordPress 伪静态规则设置:Apache和Nginx,以及二级目录规则

阿晨阅读(2197)

WordPress的伪静态规则是根据服务器环境来设置的,不同的PHP环境有不同的伪静态设置方法,常见的PHP环境有 Apache和Nginx ,以下浩子分别就这两种环境做伪静态设置。

值得一提的是,现在有很多服务器面板如:宝塔,可以直接勾选就能设置伪静态,如果你正在用,就可以不用继续看了。


Apache规则:

首先要开启apache的url_rewrite模块(一般默认都是开启的),也就是在httpd.conf中去掉这句话的注释LoadModule rewrite_module modules/mod_rewrite.so,httpd.conf中找到AllowOverride,把AllowOverride None修改成AllowOverride all

网站根目录下要有 .htaccess 文件,然后将下面的代码复制进去。

<ifmodule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</ifmodule>

WordPress在Apache环境下二级目录建站伪静态操作方式同上。


Nginx规则:

操作方法:以下代码加入到网站的配置文件 xxxx.conf 中的 server{} 中。

根目录下WordPress的伪静态规则:

location / {
    if (-f $request_filename/index.html){
        rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
        rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
        rewrite (.*) /index.php;
    }
}

二级目录下WordPress的伪静态规则:

注意将以下代码中的“二级目录名”换成自己的真实二级目录名。

location /二级目录名/ {
    if (-f $request_filename/index.html){
        rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
        rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
        rewrite (.*) /二级目录名/index.php;
    }
}