Hi,
有钱终成眷属
没钱亲眼目睹

技术文章 第10页

WordPress侧边栏调用带Gravatar头像的最新评论的方法

伊阳阅读(1582)

我本人最近迷上了WordPress,在浏览他人的站点时,看到侧边栏显示最新评论的效果,很是喜欢。但是本人代码又不会写,只能是在别人代码基础上进行修改(博主我是爱瞎折腾性的)。网上找了好久,终于给找到了两种实现方法,下面就说说如何使用。

方法一、

1、在主题的 functions.php 的最后一个 ?> 前面添加下面的代码:


//边栏评论
function h_comments($outer,$limit){
    global $wpdb;
    $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url,comment_author_email, SUBSTRING(comment_content,1,22) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' AND user_id='0' AND comment_author != '$outer' ORDER BY comment_date_gmt DESC LIMIT $limit";
    $comments = $wpdb->get_results($sql);
    foreach ($comments as $comment) {
        $output .= '<li>'.get_avatar( $comment, 32,"",$comment->comment_author).' <p class="s_r"><a href="'. get_permalink($comment->ID) .'#comment-' . $comment->comment_ID . '" title="《'.$comment->post_title . '》上的评论"><span class="s_name">'.strip_tags($comment->comment_author).':</span><span class="s_desc">'. strip_tags($comment->com_excerpt).'</span></a></p></li>';
    }
    $output = convert_smilies($output);
    echo $output;
}

2、在主题的 sidebar.php 文件使用下面的调用代码即可:


<h3>最新评论</h3>
<div id="comment-list">
     <ul>
	<?php h_comments($outer='博主',$limit='10'); ?>
     </ul>
</div>

注:$outer 后面应填写博主的昵称,这样可以使博主的评论不在边栏评论中显示;$limit 后面填写的是调用数量,10表示10条。
到这里就基本搞定了,剩下的就是根据自己的主题来修改CSS样式即可。
下面的CSS可根据自己网站样式进行修改:


#comment-list{width:280px;}
#comment-list li{height:40px;border-bottom:1px dashed #eee;padding:8px 0;}
#comment-list li a{display:inline;width:280px;height:40px;cursor:pointer;}
#comment-list .avatar{float:left;width:32px;height:32px;border:1px dashed #eee;padding:2px;}
#comment-list .s_r{float:left;margin-left:5px;height:40px;}
#comment-list .s_name{display:block;overflow:hidden;width:222px;height:20px;text-overflow:ellipsis;white-space:nowrap;font-size:14px;}
#comment-list .s_desc{display:block;overflow:hidden;width:222px;height:20px;color:#999;text-overflow:ellipsis;white-space:nowrap;line-height:20px;}
方法二、

1、新建一个r_comment.php,并复制下列代码:


<?php if (get_option('swt_type') == 'Display') { ?>
<div class="r_comment">
  <ul>
    <?php
       global $wpdb;
       $my_email = get_bloginfo ('admin_email');
       $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url,comment_author_email, SUBSTRING(comment_content,1,50) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' AND comment_author_email != '$my_email' ORDER BY comment_date_gmt DESC LIMIT 10";
       $comments = $wpdb->get_results($sql);
       $output = $pre_HTML;
       foreach ($comments as $comment) {
       $a= get_bloginfo('wpurl') .'/avatar/'.md5(strtolower($comment->comment_author_email)).'.jpg';
       $output .= "\n<li><img src='". $a ."'  alt=\".$comment->comment_author." class='avatar'/>$comment->comment_author:<br /><a href=\"" . get_permalink($comment->ID) ."#comment-" . $comment->comment_ID . "\" title=\"查看: " .$comment->post_title . "\">" . strip_tags($comment->com_excerpt)."</a></li>";
       }
       $output .= $post_HTML;
       $output = convert_smilies($output);
       echo $output;
    ?> 
  </ul>
</div>
    <?php { echo ''; } ?>
        <?php } else { include(TEMPLATEPATH . '/includes/r_comment2.php'); } ?>

2、再新建一个r_comment2.php,然后复制下列代码并保存:


<div class="r_comment">
  <ul>
    <?php
       global $wpdb;
       $my_email = get_bloginfo ('admin_email');
       $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url,comment_author_email, SUBSTRING(comment_content,1,50) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' AND comment_author_email != '$my_email' ORDER BY comment_date_gmt DESC LIMIT 10";
       $comments = $wpdb->get_results($sql);
       $output = $pre_HTML;
       foreach ($comments as $comment) {
       $output .= '<li>'.get_avatar(get_comment_author_email(), 40).strip_tags($comment->comment_author).':<br />' . ' <a href="'. get_permalink($comment->ID) .'#comment-'. $comment->comment_ID . '\" title="查看: ' .$comment->post_title . '\">' . strip_tags($comment->com_excerpt).'</a></li>';}
       $output .= $post_HTML;
       $output = convert_smilies($output);
       echo $output;
    ?> 
  </ul>
</div>

3、在当前主题目录下新建一个includes的文件夹,并将r_comment.php和r_comment2.php上传至该文件夹内。
4、在主题的sidebar.php 文件使用下面的调用代码即可:


<h3>最新评论</h3>
<?php include('includes/r_comment.php'); ?>

5、到此基本上搞定了,下面附上该CSS代码,可根据自己网站情况进行修改:


.r_comment {}
.r_comment ul {list-style-type:none;}
.r_comment li {font-family:Microsoft YaHei;line-height:24px; clear:both;height:auto; overflow:hidden;color:#5bc0eb;font-size:14px;}
.r_comment ul li img.avatar {float:left;padding:3px;margin:3px 4px 0 0;background:#fff;border: 1px solid #ddd;border-radius:50%;width:40px;height:40px;}
.r_comment_author{font-size:14px;margin:0;padding:0;color:#5bc0eb;}
.r_comment a{font-family:Microsoft YaHei;font-size:16px;}

好了,侧边栏实现最新评论显示的两种方法就介绍完了,上面两种方法我都试过,可以实现。其中方法一取自Wordpress大学的《WordPress边栏调用带Gravatar头像的最新评论》,在此表示感谢!!方法二,本人再次找的话,又找不见了,如日后本人再次看到时,一定附上链接。

WordPress鼠标点击文字特效教程

伊阳阅读(1761)

本文最后更新于2021年4月1日,已超过 3 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

最近,我给网站添加了鼠标点击特效,用鼠标点击页面会显示文字,其中文字可以自己定义。代码如下:

<script type="text/javascript"> 
/* 鼠标特效 */
var a_idx = 0; 
jQuery(document).ready(function($) { 
    $("body").click(function(e) { 
        var a = new Array("富强", "民主", "文明", "和谐", "自由", "平等", "公正" ,"法治", "爱国", "敬业", "诚信", "友善"); 
        var $i = $("<span/>").text(a[a_idx]); 
        a_idx = (a_idx + 1) % a.length; 
        var x = e.pageX, 
        y = e.pageY; 
        $i.css({ 
            "z-index": 999999999999999999999999999999999999999999999999999999999999999999999, 
            "top": y - 20, 
            "left": x, 
            "position": "absolute", 
            "font-weight": "bold", 
            "color": "#ff6651" 
        }); 
        $("body").append($i); 
        $i.animate({ 
            "top": y - 180, 
            "opacity": 0 
        }, 
        1500, 
        function() { 
            $i.remove(); 
        }); 
    }); 
}); 
</script>

WordPress文章中添加上一篇、下一篇链接

伊阳阅读(1728)

本文最后更新于2021年4月1日,已超过 3 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

最近,我给博客Single.php页面中添加了上一篇、下一篇链接功能,代码如下:

<?php previous_post_link('上一篇: %link') ?>
<?php next_post_link('下一篇: %link') ?>

但当出现没有上一篇或者下一篇时,就会显示空白,比较难看。然后呢,就对代码进行了优化。变成当出现没有上一篇或者下一篇时,就会显示一句话,如:


代码如下:

<?php if (get_previous_post()) { previous_post_link('上一篇: %link');} else {echo "没有了,已经是最后文章";} ?>
<?php if (get_next_post()) { next_post_link('下一篇: %link');} else {echo "没有了,已经是最新文章";} ?>

至于css,可自己进行修改。

WordPress修改后台登陆地址

伊阳阅读(2101)

本文最后更新于2021年4月1日,已超过 3 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

本篇主要是讲如何对wordpress后台地址进行修改的几种方法,供大家使用和参考,wordpress程序的默认登陆地址链接为http://xxx.com/wp-login.php。但为了保障网站安全性,可以修改wordpress登陆文章的名称wp-login.php后缀来防止密码被暴力破解。下面我们通过下列几种方法来修改后台的默认地址,以提高网站安全性。

方法一、wordpress后台登陆地址修改方法之登陆文章重命名

1、修改wordpress程序网站根目录下wp-login.php的文件名,修改为houtai.php(其它任意名称都可以),并将该文件houtai.php中出现的字符wp-login.php全部改为houtai.php;
2、找到根目录下的wp-includes/general-template.php文件,除代码第238行

$login_url = site_url('wp-login.php', 'login');

不要修改外,该文件内的其他字符wp-login.php均替换为houtai.php,注意完成修改后需要覆盖原文件并保存!

同时,为了保障我们的网站更加安全,我们也可以使用 Limit Login Attempts, 安装并启用该插件后不需要做其他特别设置。当连续登陆失败,插件会临时屏蔽登陆 IP 地址。

方法二、wordpress后台登陆地址修改方法之主题函数代码法

1、打开当前使用的WordPress主题中的functions.php文件,在末尾?>加上代码:

//保护后台登录 
function login_protection(){
if($_GET['master'] != 'hello')header('Location: http://www.xxx.xxx/');
}
add_action('login_enqueue_scripts','login_protection');

1 其中“master(标记信息)”、“hello(标记信息)”和“XXX.XXX(网址)”都可以自定义。
2 URL是区分大小写字母的,所以设置标记信息时大小写字母和数字都可以使用(参见: HTML and URLs )。
3 由于URL编码中特殊字符一般都有专用含义,所以如果标记信息中使用了特殊字符需要确认一下是否能正常登陆。

2、保存并退出。

这样WordPress后台的登陆地址就变成了:

http://www.xxx.xxx/wp-login.php?master=hello
方法三、wordpress后台登陆地址修改方法之登陆文件代码法

打开wordpress根目录找到wp-login.php文件用编辑器打开在55行左右找到如下代码

if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) )
add_action( 'login_head', 'wp_shake_js', 12 ); 
//在其代码之下加上一段代码 
if($_GET["qq"]!="332106247"){ header('Location:/404 '); }

Linux查看和设置主机名

伊阳阅读(2077)

本文最后更新于2021年2月9日,已超过 3 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

1、设置主机名
通过编辑/etc/sysconfig/network文件中的HOSTNAME字段就可以修改主机名。如下所示:
[root@cyy~]# vim /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=cyy
HOSTNAME=cyy 表示主机设置为 cyy.
注意:修改主机名后,需要重启系统后生效。
2、查看主机名
[root@cyy~]# hostname
cyy
技巧:两个简单的命令可以临时设置主机名。
(1). 使用sysctl命令修改内核参数,格式:sysctl kernel.hostname=主机名,如下。
[root@cyy~]# sysctl kernel.hostname=newname
kernel.hostname=newname newname为新设置的主机名
(2). 使用hostname命令设置主机名。格式为:hostname 主机名,如下。
[root@cyy~]# hostname newname
该设置为临时生效。重新启动系统后,设置失效。

hostname命令的使用:

hostname
-s, –short short host name
-a, –alias alias names
-i, –ip-address addresses for the host name
-f, –fqdn, –long long host name (FQDN)
-d, –domain DNS domain name
-y, –yp, –nis NIS/YP domain name
-F, –file read host name or NIS domain name from given file

 

PHP优化加速:CentOS 7.4 开启 Zend Opcache

伊阳阅读(3808)

本文最后更新于2021年4月1日,已超过 3 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

继上次安装完nextcloud后,但在设置概述里面的安全及设置警告里一直显示:

  • The PHP OPcache module is not loaded.For better performance it is recommended to load it into your PHP installation.

大致意思是OPcache没有加载。通过用命令:php -v查看

PHP 7.2.11 (cli) (built: Oct 11 2018 19:14:35) (NTS)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

OPcache没有安装。之后通过度娘找到了一种方法,就是先下载—解压—编译—配置,但当进行到编译时,报错,提示大概是说“zend_unit”错误。之后试了几次都不成功。
就在快要疯掉的时候,无意搜到到一篇《php5.6安装zendopcache加速》的文章,根据里面的内容进行了一些修改,OPcache最终安装成功。在此写下相关的步骤:

1、安装 Remi 源

安装最新的 Remi 源自动安装文件

#CentOS 7 yum install?http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

2、编辑Remi 源配置文件

vim /etc/yum.repos.d/remi.repo 修改以下

[remi]

修改 enabled=0enabled=1

结尾另起一行添加下面的代码:

priority=3

更新yum缓存:

#CentOS 7 yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

3、安装 Zend Opcache(pecl版本):

yum install php72w-pecl-zendopcache

需要说明的是php为7.2对应php72w-peclzendopcache,总之与php版本对应
4、上面步骤完成后,查看/etc/php.d里面是否产生下面两个文件:

opcache-default.blacklist
opcache.ini

5、用php -v查看opcache是否安装成功:

PHP 7.2.11 (cli) (built: Oct 11 2018 19:14:35) (NTS)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.11, Copyright (c) 1999-2018, by Zend Technologies   //提示安装成功

6、用vi /etc/php.d/opcache.ini命令打开,安装下面的配置进行修改:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

Linux、Nginx、MariaDB环境下部署Nextcloud14的过程

伊阳阅读(2980)

前几天,脑子一抽买了阿里云ECS后,一直有点后悔,但已经买了,也退不掉。所以这几天一直在想着装个什么,不能浪费啊!!!最后思来想去,决定要不装个私有云盘玩玩。网上的私有云盘有SeaFile、Owncloud、Nextcloud这三个主要的。通过综合比较,SeaFile不免费,Owncloud与Nextcloud原是一家,最终决定那就先装Nextcloud吧。既然决定了,那就不能闲着,说干就干!!

本此主要在CentOS7.4下安装和配置最新版本的 Nextcloud 14,并且会通过 Nginx 和 PHP7.2-FPM 来运行 Nextcloud,同时使用 MariaDB 做为数据库系统。
阿里云ECS的系统是Centos7.4版本


[root@chyiyanghost~]#cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
一、安装并配置Nginx和php7.2-fpm

将自带的epel、nginx、php全部卸载(rpm -e … –nodeps)


[root@chyiyanghost~]#rpm -qa|grep php
[root@chyiyanghost~]#rpm -qa|grep php-common
[root@chyiyanghost~]#rpm -qa|grep nginx

CentOS默认的yum源中并不包含Nginx和php-fpm,首先要为CentOS添加epel源:


[root@chyiyanghost~]#yum -y install epel-release
[root@chyiyanghost~]#yum -y install nginx

需要再添加一个yum源来安装php-fpm,可以使用webtatic


[root@chyiyanghost~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装php7.2-fpm和一些其它的必要的组件


[root@chyiyanghost~]#yum -y install php72w-fpm php72w-cli php72w-gd php72w-mcrypt php72w-mysql php72w-pear php72w-xml php72w-mbstring php72w-pdo php72w-json php72w-pecl-apcu php72w-pecl-apcu-devel

需要说明的是php72为php7.2,如果要装php7.1就改为php71,php7.0就是php70
完成后,检查一下php-fpm是否已正常安装


[root@chyiyanghost~]#php -v
PHP 7.2.11 (cli) (built: Oct 11 2018 19:14:35) (NTS)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

配置php-fpm


root@chyiyanghost~]#vim /etc/php-fpm.d/www.conf
.....
user = nginx      //将用户和组都改为nginx
group = nginx
.....
listen = 127.0.0.1:9000     //php-fpm所监听的端口为9000
......
env[HOSTNAME] = $HOSTNAME      //去掉下面几行注释
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

按ESC,输入wq!保存退出。
在/var/lib目录下为session路径创建一个新的文件夹,并将用户名和组设为nginx


[root@chyiyanghost~]#mkdir -p /var/lib/php/session
[root@chyiyanghost~]#chown nginx:nginx -R /var/lib/php/session/
[root@chyiyanghost~]#ll -d /var/lib/php/session/
drwxr-xr-x 2 nginx nginx 4096 Nov 1 12:23 /var/lib/php/session/

启动Nginx和php-fpm服务,并添加开机启动


[root@chyiyanghost~]#systemctl start php-fpm
[root@chyiyanghost~]#systemctl start nginx
[root@chyiyanghost~]#systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service. //提示成功信息
[root@chyiyanghost~]#systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.     //提示成功信息
二、安装并配置MariaDB

使用MaraiDB作为Nextcloud数据库。yum安装MaraiDB服务


[root@chyiyanghost~]#yum -y install mariadb mariadb-server

启动MariaDB服务并添加开机启动


[root@chyiyanghost~]#systemctl start mariadb
[root@chyiyanghost~]#systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.  //提示信息

接下来设置MariaDB的root密码


[root@chyiyanghost~]#mysql_secure_installation     //按照提示设置密码,首先会询问当前密码,密码默认为空,直接回车即可
Enter current password for root (enter for none):       //直接回车
Set root password?[Y/n]Y
New password:         //输入新密码
Re-enter new password:        //再次输入新密码
Remove anonymous users?[Y/n]Y
Disallow root login remotely?[Y/n]Y
Remove test database and access to it?[Y/n]Y
Reload privilege tables now?[Y/n]Y

设置完MariaDB的密码后,使用命令行登录MariaDB,并为Nextcloud创建相应的用户和数据库。
例如数据库为nextcloud_db,用户为nextclouduser,密码为nextcloudpasswd:


[root@chyiyanghost~]#mysql -p
......
MariaDB [(none)]&gt;create database nextcloud_db;
Query OK, 1 row affected (0.00sec)
MariaDB [(none)]&gt;create user nextclouduser@localhost identified by'nextcloudpasswd';
Query OK, 0 rows affected (0.00sec)
MariaDB [(none)]&gt;grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by'nextcloudpasswd';
Query OK, 0 rows affected (0.00sec)
MariaDB [(none)]&gt;flush privileges;
Query OK, 0 rows affected (0.00sec)
MariaDB [(none)]&gt;exit
Bye
三、为Nextcloud生成自签名SSL证书

为SSL证书创建一个新的文件夹:


[root@chyiyanghost~]#mkdir -p /etc/nginx/cert/
[root@chyiyanghost~]#cd /etc/nginx/cert/
[root@chyiyanghost cert]#openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/nextcloud.crt -keyout /etc/nginx/cert/nextcloud.key
.....
Country Name (2 letter code) [XX]:cn                                           //国家
State or Province Name (full name) []:shaanxi                                  //省份
Locality Name (eg, city) [Default City]:shaanxi                                //地区名字
Organization Name (eg, company) [Default Company Ltd]:chyiyang                 //公司名
Organizational Unit Name (eg, section) []:Technology                           //部门
Common Name (eg, your name or your server's hostname) []:chyiyang              //CA主机名
Email Address []:330601425@qq.com

然后将证书文件的权限设置为660


[root@chyiyanghost cert]#chmod 700 /etc/nginx/cert
[root@chyiyanghost cert]#chmod 600 /etc/nginx/cert/*
四、下载并安装Nextcloud

[root@chyiyanghost~]#yum -y install wget unzip
[root@chyiyanghost~]#cd /usr/local/src/
[root@chyiyanghost src]#wget https://download.nextcloud.com/server/releases/nextcloud-14.0.3.zip
[root@chyiyanghost src]#unzip nextcloud-14.0.3.zip
[root@nextcloud-server src]#ls
nextcloud nextcloud-14.0.3.zip
[root@chyiyanghost src]#mv nextcloud /usr/share/nginx/html/

进入Nginx的root目录,并为Nextcloud创建data目录,将Nextcloud的用户和组修改为nginx


[root@chyiyanghost src]#mv nextcloud /usr/share/nginx/html/
[root@chyiyanghost src]#cd /usr/share/nginx/html/
[root@chyiyanghost html]#mkdir -p nextcloud/data/
[root@chyiyanghost html]#chown nginx:nginx -R nextcloud/
[root@chyiyanghost html]#ll -d nextcloud
drwxr-xr-x 15 nginx nginx 4096 Nov  1 15:50 nextcloud
五、设置Nginx虚拟主机

进入Nginx的虚拟主机配置文件所在目录并创建一个新的虚拟主机配置(记得修改两个server_name为自己的域名):


[root@chyiyanghost html]#cd /etc/nginx/conf.d/
[root@chyiyanghost conf.d]#vim nextcloud.conf
upstream php-handler {
    server 127.0.0.1:9000;
    #server unix:/var/run/php5-fpm.sock;
}     
server {
    listen 80;
    server_name chyiyang.net;
    # enforce https
    return 301 https://$server_name$request_uri;
}     
server {
    listen 443 ssl;
    server_name chyiyang.net;     
    ssl_certificate /etc/nginx/cert/nextcloud.crt;
    ssl_certificate_key /etc/nginx/cert/nextcloud.key;     
    # Add headers to serve security related headers
    # Before enabling Strict-Transport-Security headers please read into this
    # topic first.
    add_header Strict-Transport-Security "max-age=15768000;
    includeSubDomains; preload;";
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;     
    # Path to the root of your installation
    root /usr/share/nginx/html/nextcloud/;     
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
     
    # The following 2 rules are only needed for the user_webfinger app.
    # Uncomment it if you're planning to use this app.
    #rewrite ^/.well-known/host-meta /public.php service=host-meta last;
    #rewrite ^/.well-known/host-meta.json /public.php service=host-meta-json
    # last;
     
    location = /.well-known/carddav {
      return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
      return 301 $scheme://$host/remote.php/dav;
    }
     
    # set max upload size
    client_max_body_size 512M;
    fastcgi_buffers 64 4K;
     
    # Disable gzip to avoid the removal of the ETag header
    gzip off;
     
    # Uncomment if your server is build with the ngx_pagespeed module
    # This module is currently not supported.
    #pagespeed off;
     
    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;
     
    location / {
        rewrite ^ /index.php$uri;
    }
     
    location ~ ^/( :build|tests|config|lib|3rdparty|templates|data)/ {
        deny all;
    }
    location ~ ^/( :\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }
     
    location ~ ^/( :index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php( :$|/) {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        #Avoid sending the security headers twice
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass php-handler;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }
     
    location ~ ^/( :updater|ocs-provider)( :$|/) {
        try_files $uri/ =404;
        index index.php;
    }
     
    # Adding the cache control header for js and css files
    # Make sure it is BELOW the PHP block
    location ~* \.( :css|js)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "public, max-age=7200";
        # Add headers to serve security related headers (It is intended to
        # have those duplicated to the ones above)
        # Before enabling Strict-Transport-Security headers please read into
        # this topic first.
        add_header Strict-Transport-Security "max-age=15768000;includeSubDomains; preload;";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        # Optional: Don't log access to assets
        access_log off;
    }
     
    location ~* \.( :svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        # Optional: Don't log access to other assets
        access_log off;
    }
}

接下来测试以下配置文件是否有错误,确保没有问题后重启Nginx服务。


[root@chyiyanghost conf.d]#nginx -t
nginx:the configuration file /etc/nginx/nginx.conf syntax is ok
nginx:configuration file /etc/nginx/nginx.conf test is successful
[root@chyiyanghost conf.d]#systemctl restart nginx
六、为Nextcloud设置Firewalld防火墙和SELinux

可以选择关闭Firewalld和SELinux


[root@chyiyanghost~]#systemctl stop firewalld

[root@chyiyanghost~]#systemctl disable firewalld

[root@chyiyanghost~]#setenforce 0

[root@chyiyanghost~]#getenforce
disable

[root@chyiyanghost~]#cat /etc/sysconfig/selinux
......
SELINUX=disabled
如果打开了防火墙,则需要设置FirewalldSELinux

首先需要安装SElinux管理工具policycoreutils-python


[root@chyiyanghost~]#yum -y install policycoreutils-python

接着设置SELinux


[root@chyiyanghost~]#semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/data(/.*)'
[root@chyiyanghost~]#semanage fcontext -a -t httpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/config(/.*)'
[root@chyiyanghost~]#semanage fcontext -a -t httpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/apps(/.*)'
[root@chyiyanghost~]#semanage fcontext -a -t httpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/assets(/.*)'
[root@chyiyanghost~]#semanage fcontext -a -t httpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/.htaccess'
[root@chyiyanghost~]#semanage fcontext -a -t httpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/.user.ini'
[root@chyiyanghost~]#restorecon -Rv'/usr/share/nginx/html/nextcloud/'

接下来设置Firewlld防火墙,为Nextcloud开放http和https两个端口


[root@chyiyanghost~]#systemctl start firewalld
[root@chyiyanghost~]#systemctl enable firewalld
[root@chyiyanghost~]#firewall-cmd --permanent --add-service=http
[root@chyiyanghost~]#firewall-cmd --permanent --add-service=https
[root@chyiyanghost~]#firewall-cmd --reload
七、安装Nextcloud

解析上面nginx中配置的域名chyiyang.net,访问访问http://chyiyang.net进行Nextcloud界面安装(访问http域名会自动跳转到https,安装提示安装即可!)

安装截图

 

安装截图

 

安装截图

至此,nextcloud算是部署完成了。

Linux系统vi命令的使用(一般模式)

伊阳阅读(1430)

Linux系统下的Vim是一款强大的文本编辑器,它不仅支持基本的文本编辑功能,还有很多高级特性。在日常工作中,熟练使用Vim可以使你的编辑效率倍增。
基本上Vim共分为3种模式,分别是一般模式,编辑模式和命令行模式,这三种模式的作用分别如下简述:

  • 一般模式:默认模式。打开vim直接进入的是一般模式,在这个模式下,可以进行的操作有:移动光标,复制,粘贴,删除。
  • 编辑模式:编辑文件内容,在界面左下方会出现INSERT的字样。
  • 命令行模式:查找、读取、保存、替换字符、显示行号、离开vim等等操作。

下面将进行一般模式的介绍。

一、进入命令模式命令
vi filename: 打开或新建文件,并将光标置于第一行首
vi +n filename:打开文件,并将光标置于第n行首
vi + filename:打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename:在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename:打开多个文件,依次编辑
二、移动光标
j:向下
20j:向下移动 20 行
k:向上
h:向左
l:向右
0:数字0,到行首
^:到行首第一个字符,如果前面有空格的话
$:到行尾
n$:光标移至第n行尾
gg:快速到文件头
G:快速到文件尾
50G:跳转到第 50 行
n+:光标下移n行
n-:光标上移n行
w:光标跳到下个字的开头
e:光标跳到下个字的字尾
b:光标回到上个字的开头
#l:光标移到该行的第#个位置,如:5l,56l。
ctrl+ b:屏幕往后移动一页。
ctrl + f:屏幕往前移动一页。
ctrl + u:屏幕往后移动半页。
ctrl + d:屏幕往"前"移动半页。
ctrl + g列出光标所在行的行号
space:光标右移一个字符
Backspace:光标左移一个字符
):光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
注意:请不要在插入模式进行光标移动,效率很低下
三、复制
yy:复制一行
#yy:例如,6yy表示拷贝从光标所在的该行往下数6行文字
8yy:向下复制8行
yw:复制光标开始的一个单词
#yw:复制#个字到缓冲区
y$:复制光标到行尾
yfA:复制光标到第一个大写A中间的内容
y2fA:复制光标到第二个大写A中间的内容
n,my:指定n到m行复制
四、剪切
x:向后剪切一个一个字符,如果是在行尾,则为向前剪切
4x:剪切4个
xp:非行尾交换两个字符,如从bs变成sb
五、删除
dd:删除一行
100dd:删除100行
dw:删除一个单词
df":删除到出现的第一个双引号
d^:删除至行首
#dd:从光标所在行开始删除#行
x:每按一次,删除光标所在位置的后面一个字符。
#x:例如,6x表示删除光标所在位置的后面6个字符。
X:大写的X,每按一次,删除光标所在位置的前面一个字符。
#X:例如,20X表示删除光标所在位置的前面20个字符。
Ctrl+u:删除输入方式下所输入的文本
六、粘贴
p(小写):粘贴复制或剪切的内容,将缓冲区内的字符贴到光标所在位置。在光标下一行粘贴
注意:所有与y有关的复制命令都必须与p配合才能完成复制与粘贴功能
5p:将复制或剪切的内容粘贴5次
P(大写):在光标上一行粘贴(插入)
七、替换和撤销
r+<待替换字母>:将游标所在字母替换为指定字母
R:连续替换,直到按下
Esccc:替换整行,即删除游标所在行,并进入插入模式
cw:替换一个单词,即删除一个单词,并进入插入模式
c#w:例如,c3w表示更改3个字
u{n}:撤销一次或n次操作
U(大写):撤销当前行的所有修改Ctrl+r:redo,即撤销undo的操作

Linux的20个基本命令

伊阳阅读(2155)

双十一快到了,阿里云ECS服务器了搞起了团购,看了一下价格还可以,脑门一拍就买了个3年的期限,好不容易用Secure CTR给连上了,可是所有的操作得全靠命令完成,这下脑子给懵了。想着那可咋办呢,已经买了,不用启不浪费。没办法那就现学现卖呗。

1、cd命令

这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。
#例如:

cd /root/Docements # 切换到目录/root/Docements  
cd ./path          # 切换到当前目录下的path目录中,“.”表示当前目录
cd ../path         # 切换到上层目录中的path目录中,“..”表示上一层目录
2、ls命令

这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下:

-l :列出长数据串,包含文件的属性与权限数据等  
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用) 
-d :仅列出目录本身,而不是列出目录的文件数据  
-h :将文件容量以较易读的方式(GB,kB等)列出来 
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来 

注:这些参数也可以组合使用,下面举两个例子:

ls -l #以长数据串的形式列出当前目录下的数据文件和目录 
ls -lR #以长数据串的形式列出当前目录下的所有文件 
3、grep命令

该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等,它的简单语法为

grep [-acinv] [--color=auto] '查找字符串' filename 

它的常用参数如下:

-a :将binary文件以text文件的方式查找数据  
-c :计算找到‘查找字符串’的次数  
-i :忽略大小写的区别,即把大小写视为相同 
-v :反向选择,即显示出没有‘查找字符串’内容的那一行  

# 例如:

# 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色  
grep --color=auto 'MANPATH' /etc/man.config  
# 把ls -l的输出中包含字母file(不区分大小写)的内容输出   
ls -l | grep -i file  
4、find命令

find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多,所以在这里将给把它们分类列出,它的基本语法如下:
find [PATH] [option] [action]
# 与时间有关的参数:

-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件; 
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;  
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;  
-newer file : 列出比file还要新的文件名  

# 例如:

find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件  
# 与用户或用户组名有关的参数:   
-user name : 列出文件所有者为name的文件  
-group name : 列出文件所属用户组为name的文件 
-uid n : 列出文件所有者为用户ID为n的文件  
-gid n : 列出文件所属用户组为用户组ID为n的文件 

# 例如:

find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件  
# 与文件权限及名称有关的参数:  
-name filename :找出文件名为filename的文件 
-size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件  
-tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、 目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);  
-perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755; 
-perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示 
-perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示

# 例如:

find / -name passwd # 查找文件名为passwd的文件  
find . -perm 0755 # 查找当前目录中文件权限的0755的文件 
find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte
5、cp命令

该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下, 它的常用参数如下:

-a :将文件的特性一起复制  
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份 
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为  
-u :目标文件与源文件有差异时才会复制  

#例如:

cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2 
cp file1 file2 file3 dir #把文件file1、file2、file3复制到目录dir中
6、mv命令

该命令用于移动文件、目录或更名,move之意,它的常用参数如下:

-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖  
-i :若目标文件已经存在,就会询问是否覆盖 
-u :若目标文件已经存在,且比目标文件新,才会更新 

注:该命令可以把一个文件或多个文件一次移动一个文件夹中,但是最后一个目标文件一定要是“目录”。
例如:

mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中 
mv file1 file2 # 把文件file1重命名为file2  
7、rm命令

该命令用于删除文件或目录,remove之间,它的常用参数如下:

-f :就是force的意思,忽略不存在的文件,不会出现警告消息 
-i :互动模式,在删除前会询问用户是否操作  
-r :递归删除,最常用于目录删除,它是一个非常危险的参数  

#例如:

rm -i file # 删除文件file,在删除之前会询问是否进行该操作 
rm -fr dir # 强制删除目录dir中的所有文件
8、ps命令

该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:

-A :所有的进程均显示出来  
-a :不与terminal有关的所有进程  
-u :有效用户的相关进程  
-x :一般与a参数一起使用,可列出较完整的信息 
-l :较长,较详细地将PID的信息列出  

其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:

ps aux # 查看系统所有的进程数据 
ps ax # 查看不与terminal有关的所有进程  
ps -lA # 查看系统所有的进程数据  
ps axjf # 查看连同一部分进程树状态  
9、killall命令

该命令用于向一个命令启动的进程发送一个信号,它的一般语法如下:
killall [-iIe] [command name]
它的参数如下:

-i :交互式的意思,若需要删除时,会询问用户 
-e :表示后面接的command name要一致,但command name不能超过15个字符 
-I :命令名称忽略大小写  

#例如:

killall -SIGHUP syslogd # 重新启动syslogd  
10、file命令

该命令用于判断接在file命令后的文件的基本数据,因为在Linux下文件的类型并不是以后缀为分的,所以这个命令对我们来说就很有用了,它的用法非常简单,基本语法如下:
file filename
#例如:

file ./test  
11、tar命令

该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。它的常用参数如下:

-c :新建打包文件 
-t :查看打包文件的内容含有哪些文件名  
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中  
-j :通过bzip2的支持进行压缩/解压缩  
-z :通过gzip的支持进行压缩/解压缩 
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来  
-f filename :filename为要处理的文件 
-C dir :指定压缩/解压缩的目录dir  

上面的解说可以已经让你晕过去了,但是通常我们只需要记住下面三条命令即可:

压缩:
tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称  
查询:
tar -jtv -f filename.tar.bz2  
解压:
tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录  

注:文件名并不定要以后缀tar.bz2结尾,这里主要是为了说明使用的压缩程序为bzip2

12、cat命令

该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。例如:

cat text | less # 查看text文件中的内容  

# 注:这条命令也可以使用less text来代替

13、chgrp命令

该命令用于改变文件所属用户组,它的使用非常简单,它的基本用法如下:

chgrp [-R] dirname/filename  
-R :进行递归的持续对所有文件和子目录更改

#例如:

chgrp users -R ./dir # 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users  
14、chown命令

该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同,不再详述。

15、chmod命令

该命令用于改变文件的权限,一般的用法如下:
chmod [-R] xyz 文件或目录
-R:进行递归的持续更改,即连同子目录下的所有文件都会更改
同时,chmod还可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改。
#例如:

chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x  
chmod g+w file # 向file的文件权限中加入用户组可写权限  
16、vim命令

该命令主要用于文本编辑,它接一个或多个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。vim是一个非常好用的文本编辑器,它里面有很多非常好用的命令,在这里不再多说。你可以从这里下载 vim常用操作的详细说明。

17、gcc命令

对于一个用Linux开发C程序的人来说,这个命令就非常重要了,它用于把C语言的源程序文件,编译成可执行程序,由于g++的很多参数跟它非常相似,所以这里只介绍gcc的参数,它的常用参数如下:

-o :output之意,用于指定生成一个可执行文件的文件名 
-c :用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序 
-I :增加编译时搜索头文件的路径  
-L :增加编译时搜索静态连接库的路径  
-S :把源文件生成汇编代码文件  
-lm:表示标准库的目录中名为libm.a的函数库  
-lpthread :连接NPTL实现的线程库  
-std= :用于指定把使用的C语言的版本 

#例如:

# 把源文件test.c按照c99标准编译成可执行程序test 
gcc -o test test.c -lm -std=c99  
#把源文件test.c转换为相应的汇编程序源文件test.s  
gcc -S test.c  
18、time命令

该命令用于测算一个命令(即程序)的执行时间。它的使用非常简单,就像平时输入命令一样,不过在命令的前面加入一个time即可,例如:

time ./process 
time ps aux  
19、ln命令

用于为某个文件在另外一个位置建立同步的链接。Linux系统中的链接文件有两种形式,一种是硬链接(hard link),另一种是软链接(symbolic link)。
它的简单语法如下:

ln [参数] [源文件或目录] [目标文件或目录]

它的常用参数如下:

-b:为已存在的目标文件创建备份 
-d :允许管理员创建目录的硬链接 
-f :强制创建链接而不询问 
-i :若目标文件已存在,则需要用户二次确认 
-L :若目标文件为软链接时,找到其对应文件 
-n :将指向目录的软链接视为普通文件 
-P :若目标文件为软链接时,直接链接它自身 
-r :创建相对于文件位置的软链接 
-s :对源文件创建软链接 
-S :设置备份文件的后缀 
-t :设置链接文件存放于哪个目录 
-v :显示执行过程详细信息 
--backup :备份已存在的文件 
--help :显示帮助信息 
--version :显示版本信息

#例如:

#在/volume1/@appdata/transmission/目录下创建一个指向/volume2/trans/torrents的软链接。
ln -s /volume2/trans/torrents /volume1/@appdata/transmission/torrents
#在/volume1/@appdata/transmission/目录下创建一个指向/volume2/trans/torrents的硬链接,硬链接不需要加参数。
ln /volume2/trans/torrents /volume1/@appdata/transmission/torrents

#硬链接与软链接的区别

虽然硬链接和软链接都是用于将多个文件或目录关联起来,但它们之间还是有一些区别的。 首先,硬链接只能关联同一个文件系统中的文件或目录,因为它们共享同一个inode节点。而软链接则可以跨越不同的文件系统。 其次,如果原始文件被删除了linux ln命令,硬链接仍然可以访问到原始文件的内容,因为它们共享同一个inode节点;而软链接将失效,因为它只是一个指向原始文件路径名的符号链接。

#ln命令常见错误

在使用ln命令时,可能会遇到一些常见的错误。例如:
1.没有权限 如果当前用户没有对源文件或目标文件的写入权限,则无法创建链接。可以使用chmod命令来更改权限。
2.目标文件已存在 如果目标文件已经存在,则需要使用-f选项来强制覆盖。
3.路径名不正确。

20、ifconfig命令

用于显示或设置网络设备参数信息。在Windows系统中与之类似的命令叫做ipconfig,同样的功能可以使用ifconfig去完成。
语法格式如下:

ifconfig [参数] [网卡名] [动作]

它的常用参数如下:


-a :显示所有网卡状态 
-s :显示简短状态列表 
-v :显示执行过程详细信息

#例如:

对指定的网卡设备依次进行关闭和启动操作:
ifconfig ens160 down 
ifconfig ens160 up
对指定的网卡设备执行修改IP地址操作: 
ifconfig ens160 192.168.10.20 netmask 255.255.255.0
通常不建议使用ifconfig命令配置网络设备的参数信息,因为一旦服务器重启,配置过的参数会自动失效,还是编写到配置文件中更稳妥。

H3C交换机基本配置命令

伊阳阅读(3557)

本文最后更新于2021年4月1日,已超过 3 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

关于H3C交换机配置,我用的是Secure CRT,软件网上都有,可以自行百度搜索下载。

1,用USB转Console线与交换机的Console口连接。

2,后,打开Secure CRT软件,点击快速连接,如下

软件配置

其中,端口:可以右键–我的电脑–设备管理器,查看实际的COM口进行选择;波特率:选择9600;TRS/CTS默认是打勾的,记着一定要点掉,要不然连接后,会出现乱码。其他的默认就行。

3,交换机通电,软件点击连接即可。

下面是一些就基本命令。

  • 恢复出厂设置
reset saved        //重置配置
reboot             //重启进入系统视图
system-view        //也可以输入sys,修改主机名
[H3C]sysname abc        //交换机名改为abc
  • 配置console验证
[abc]user-interface aux 0                                  //进入console口模式
[abc-ui-aux0]authentication-mode password                  //密码验证模式
[abc-ui-aux0]set authentication password cipher abc.123    //配置密码为abc.123
[abc-ui-aux0]user privilege level 3                        //用户登录级别
[abc-ui-aux0]idle-timeout 5	                           //5分钟超时
[abc-ui-aux0]quit                                          //返回
  • 配置telnet验证
[abc]user-interface vty 0 4                                //进入telnet配置模式
[abc-ui-vty0-4]authentication-mode password                //密码验证模式
[abc-ui-vty0-4]set authentication password cipher abc.123  //配置密码为abc.123
[abc-ui-vty0-4]user privilege level 3                      //用户登陆等级
[abc-ui-vty0-4]idle-timeout 5                              //5分钟超时
[abc-ui-vty0-4]quit                                        //返回
  • Vlan配置
[abc]vlan 3                                                   //新建 vlan(已有此vlan则进入,所有端口默认都为vlan1)
[abc-vlan3]description test                                   //添加描述
[abc-vlan3]quit                                               //返回
[abc]management-vlan 3                                        //指定管理vlan
[abc]interface Vlan-interface 3                               //进入vlan接口
[abc-Vlan-interface1]ip address 192.168.111.200 255.255.255.0 //配置管理地址
[abc-Vlan-interface1]quit                                     //返回
  • 配置默认路由
[abc]ip route-static 0.0.0.0 0.0.0.0 192.168.111.100
  • Snmp配置
[abc]snmp-agent                                               //允许snmp
[abc]snmp-agent community read abc.biaoshi                    //snmp标识
[abc]snmp-agent sys-info version all                          //允许全部版本
  • 配置接口
[abc]interface Ethernet1/0/2	                              //进入接口2
[abc-Ethernet1/0/2]description manage	                      //接口描述
[abc-Ethernet1/0/2]port link-type trunk	                      //设置接口为trunk类型
[abc-Ethernet1/0/2]port trunk permit vlan 2 4                 //此trunk口允许的vlan(多个vlan用空格隔开)
[abc-Ethernet1/0/2]port link-type access                      //设置接口为接入类型(一个端口只能划分到一个vlan)
[abc-Ethernet1/0/2]port access vlan 3                         //将接口加入vlan
[abc-Ethernet1/0/2]line-rate inbound 10240                    //限制流入10M(单位kb)
[abc-Ethernet1/0/2]line-rate outbound 2048                    //限制流出2M
[abc-Ethernet1/0/2]shutdown                                   //关闭接口
[abc-Ethernet1/0/2]undo shutdown                              //激活接口
  • 其他命令
[abc]display current-configuration                        //查看运行的配置
[abc]save                                                 //保存配置
[abc]undo xx                                              //删除某条配置
[abc]telnet enable                                        //开启telnet
[abc]http enable                                          //开启http访问