首页 文章 精选 留言 我的

精选列表

搜索[Linux面板],共10000篇文章
优秀的个人博客,低调大师

第 30 章 Linux

目录 30.1. default password 30.2. uname 30.2.1. /etc/issue 30.3. cpu 30.4. memory 30.5. disk 30.6. process 30.7. sysctl 30.8. Apache 30.8.1. httpd.conf 30.8.2. xui.conf 30.8.3. rrdtool 30.9. Tomcat 30.10. MySQL 30.11. startup 30.12. 目录结构 30.13. network 30.13.1. ip route 30.13.2. tcpdump 30.13.3. iptables 30.14. vmstat 30.15. Language 30.15.1. perl 30.15.2. python 30.15.3. PHP 30.15.4. lua 30.15.5. 30.16. driver 30.17. F5 所用到的 rpm 包 30.1.default password ssh: root default web: admin admin 原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

优秀的个人博客,低调大师

linux命令:sudo浅谈

sudo命令简介: 使得某一个用户作为另一个用户执行命令 1.配置文件为:/etc/sudoers 配置文件格式: 格式: who which_hosts=(runas) command who:表示哪一个用户 which_hosts:哪一个主机 runas:以什么用户身份执行 command:执行什么命令 查看sudo相关执行的日志文件为:/var/log/secure 对于多个用户,登陆多台服务器,以多个身份执行,多个命令,需定义别名: who:User_Alias 用户别名 which_hosts:Host_Alias 主机别名 runas:Runas_Alias 以什么用户身别名 command:Cmnd_Alias 命令别名 别名必须全部并且只能使用大写英文字母的组合: 用户别名定义格式: User_Alias USERADMIN = 系统用户名,%组名,还可以包含其它已经定义的用户别名 用户别名:可以包含:系统用户名,组名(格式:%组名),其它已定义的用户别名 中间以,隔开 主机别名定义格式: Host_Alias HOSTADMIN = 主机名,ip地址,网络地址段,其它已定义的主机别名 Runas_Alias别名格式: Runas_Alias RUNASNAME = 用户名,%组名,其它的已定义的Runas别名 Cmnd_Alias命令别名格式: Cmnd_Alias COMMANDNAME = 命令路径,目录(此目录内的所有命令),其它事先定义过的命令别名 Usage:使得hadoop用户可以执行所有主机的useradd usermod命令 vim /etc/sudoers 编辑sudo配置文档,在最后一行添加以下内容: hadoop ALL=(root) /usr/sbin/useradd,/usr/sbin/usermod 2.命令功能: 使得某一个用户作为另一个用户执行某台主机上的命令 3.命令参数: -l:列出当前用户可以使用的所有sudo类命令 -k:让认证信息失效 (默认sudo会记住密码5分钟) 添加标签: NOPASSWD: PASSWD: 4.命令实例: 1、使得hadoop用户可以执行所有主机的useradd usermod命令 vim /etc/sudoers 编辑sudo配置文档,在最后一行添加以下内容: hadoop ALL=(root) NOPASSWD: /usr/sbin/useradd,/usr/sbin/usermod NOPASSWD: 表示标签后的所有命令都不需要用密码 hadoop ALL=(root) NOPASSWD: /usr/sbin/useradd, PASSWD: /usr/sbin/usermod PASSWD:表示需要用密码, 2、使用别名方式启用sudoers配置文件 vim /etc/sudoers User_Alias USERADMIN = hadoop,%hadoop,%useradmin#表示hadoop用户,hadoop组,useradmin组 Cmnd_Alias USERADMINCMND = /usr/sbin/useradd,/usr/sbin/usermod,/user/bin/passwd [A-Za-z]*,! /usr/bin/passwd root#命令别名,表示可以通过sudo执行useradd usermod /user/bin/passwd [A-Za-z]* 表示执行passwd命令后面必须带至少一个字母 !/usr/bin/passwd root 表示不能执行passwd root 命令(!为取反)修改root用户密码 USERADMIN ALL=(root) NOPASSWD: USERADMINCMND [john@localhost root]$ sudo /usr/sbin/passwd root 口令: john is not in the sudoers file. This incident will be reported. [john@localhost ~]$ sudo /usr/bin/passwd Sorry, user john is not allowed to execute '/usr/bin/passwd' as root on localhost.localdomain. [john@localhost ~]$ sudo /usr/bin/passwd donggen Changing password for user donggen. New UNIX password: BAD PASSWORD: it is WAY too short Retype new UNIX password: passwd: all authentication tokens updated successfully. 本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1887356,如需转载请自行联系原作者

优秀的个人博客,低调大师

Linux服务简单优化

硬件优化 处理器:核心数、主频、制程工艺、线程数、缓存等 核心数:1、2、4、6、8、12、24、32等 主频:2.0GHz、2.3GHz等等 制程工艺:22nm、14nm、10nm等等 线程数:1、2 缓存:L1、L2、L3 建议:尽量选择核心数越多、主频越高、制程工艺更新、支持超线程、缓存容量越大,且上市已过半年左右的 处理器。 内存:容量、频率、代数 容量:1G、2G、4G、8G、16G、32G 频率:1600、1866、2133、2400MHz等 代数:1、2、3、4代 建议:尽量选择单条容量16G或32G的DDR4 2133MHz及以上频率的内存条。 硬盘:类型、转速、接口类型、RAID 类型:机械和SSD固态 转速:5400、7200、10000、15000 转/分(机械硬盘) 接口类型:SATA、SAS、PCI-E RAID:0、1、5、6、10、50、60 建议:尽量选择支持PCI-E的SSD固态硬盘,尤其数据库、搜索引擎。 网卡:速率、接口类型 速率:10Mbps、100Mbps、1Gbps、4Gbps、10Gbps 接口类型:以太网、光纤等 建议:大部分服务器默认提供的1Gbps以太网卡够用。 如有需大数据量高并发访问的服务器遇到网络流量高峰跑满的情况,可以改用支持4Gbps或10Gbps的光纤接口网卡。 其他建议: 一般服务器集成显卡即可,除非有大量视频图像处理或异构计算等特殊需求。 操作系统优化 系统服务:关闭不用服务,提高性能同时,提高安全。grep -q '7.' /etc/redhat-release if [ $? -ne 0 ]; then Services=$(chkconfig --list | grep '0' | awk '{print $1}' | grep -Ev 'sshd|network|crond|syslog|ntpd') for Service in $Services do service $Service stop chkconfig --level 0123456 $Service off done else Services=(atd avahi-daemon cups dmraid-activation firewalld irqbalance kdump mdmonitor postfix) for Service in ${Services[*]} do systemctl disable ${Service} systemctl stop ${Service} done systemctl enable rc-local fi 内核参数: cat >> /etc/sysctl.conf << EOF vm.swappiness = 0 vm.overcommit_memory = 1 net.core.rmem_default = 262144 net.core.rmem_max = 16777216 net.core.wmem_default = 262144 net.core.wmem_max = 16777216 net.core.somaxconn = 60000 net.core.netdev_max_backlog = 60000 net.ipv4.tcp_max_orphans = 60000 net.ipv4.tcp_orphan_retries = 3 net.ipv4.tcp_max_syn_backlog = 60000 net.ipv4.tcp_max_tw_buckets = 10000 net.ipv4.ip_local_port_range = 1024 65500 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_mem = 786432 1048576 1572864 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.sem = 250 32000 100 10000 kernel.pid_max = 65536 fs.inotify.max_user_watches = 1048576 kernel.kptr_restrict = 1 kernel.ctrl-alt-del = 1 EOF sysctl -p 提高系统打开文件数、打开进程数限制,减小默认栈空间大小限制: echo '* - nofile 1048576' >> /etc/security/limits.conf echo '* - nproc 65536' >> /etc/security/limits.conf echo '* - stack 1024' >> /etc/security/limits.conf 提高Shell打开文件数、打开进程数限制,减小默认栈空间大小限制:cat >> /etc/profile << EOF ulimit -n 1048576 ulimit -u 65536 ulimit -s 1024 EOF 服务优化 配置: 尽量开启缓存、缓冲,如:Nginx的fastcgi_cache、open_file_cache,PHP的opcache,MySQL的innodb buffer等等。 解锁资源限制,如:提高打开文件数、增加服务工作进程数、CPU绑定等等。 减小磁盘和网络IO,如:使用批量读写数据,tmpfs文件系统代替磁盘,关闭日志,开启http服务的keepalive属性、gzip压缩等等。 代码: 直接修改应用服务自身源代码或者使用第三方应用,如:Tengine代替Nginx、MairaDB代替MySQL。 借助性能分析调试工具,如:xdebug、xhprof分析业务PHP代码,慢日志和explain工具分析SQL语句等等。 编译: 添加优化参数,如:gcc编译优化级别-O参数。 去除多余模块,如:Nginx几乎很少用到的pop3模块。 借助其它加速模块或补丁,如:谷歌出品的内存分配库tcmalloc,阿里巴巴出品的合并静态文件Nginx补丁Concat。 架构优化 域名解析负载均衡:通过单个域名解析成多个IP地址,将用户的请求分发到不同的机房。 优点:简单,维护比较方便,适合网站镜像。 缺点:请求分布不均匀,域名解析缓存影响高可用。 动静分离:将图片、视频、js、css等静态文件单独抽离,减小动态请求和静态请求服务器之间互相影响。 优点:服务器功能更加简单,排查问题更加容易。 缺点:开发前期人力物力成本较高。 CDN:将静态资源部署到离用户更近的网络,减小用户请求的网络传输时间。 优点:大大提高用户访问静态资源的速度。 缺点:涉及到国内的复杂环境,管理维护成本较高。 负载均衡:分发请求至后端服务器。 优点:大大提高了后端服务器集群的性能和扩展性。 缺点:硬件负载均衡太贵。 分布式内容缓存:将数据库不经常修改的数据保存至内容缓存服务器。 优点:可以很大程度上减小数据库的读压力。 缺点:需解决数据缓存失效和数据库更新的数据一致性问题,包含令人头疼的雪崩效应。 消息队列:不仅可以做消息服务器,还可以将大量的消耗资源操作转换成顺序异步操作。 优点:减小瞬间高并发请求和服务器及数据库负载。 缺点:消息队列的高可用实现比较复杂,维护难度较高。 数据库代理:按照设定规则将不同的SQL发送至不同的数据库,然后聚合数据返回。 优点:减少了业务代码层读写数据库的逻辑复杂度,提高了数据库集群的扩展性。 缺点:数据库代理软件需重新实现对SQL语句的解析,同时还需支持分库分表,从而影响性能和维护。 总结 网站性能经常出在数据库瓶颈。 数据库耗CPU、耗内存、耗IO,优化架构常用的最简单办法就是尽量减小数据库的读写操作。 大部分公司的做法都是将请求尽量截留在数据库之前的服务器响应,越靠前越好。 可以将一部分动态内容转换成静态内容,进一步减小动态语言服务器和数据库读压力。 还可以将一部分读写数据库请求转成消息队列实现批量操作。 通过分库分表分区和数据库代理扩展数据库集群的性能。 当然,SQL语句的优化工作需一直坚持。 其余的服务如遇到性能不足时可以直接通过前置LVS、Haproxy、Nginx+TCP模块等方法扩展集群规模。 缓存: 架构: 本文转自dongsong1117 51CTO博客,原文链接:http://blog.51cto.com/dongsong/2048309,如需转载请自行联系原作者

优秀的个人博客,低调大师

linux下安装python

Android服务被设计用来执行很多操作,比如说,可以执行运行时间长的耗时操作,比较耗时的网络操作,甚至是在一个单独进程中的永不会结束的操作。实现这些操作之一是通过Android接口定义语言(AIDL)来完成的。AIDL被设计用来执行进程间通信,另一种实现方式见博文Android进程间的通信之Messenger。本文我们将学习如何创建AIDL文件实现Android进程间通信。在正式学习之前,我们先澄清一些“事实”。 关于Android Service 1、Android服务不是后台任务,它们默认只运行在你的app的主线程中 2、Android服务可以通过设置来运行在不同进程中 3、如果Android服务在不同进程中启动,你将不能使用通常的IBinder接口与其通信 AIDL:Android Interface Definition Language 为了在Android应用中实现进程间通信,我们需要在远端进程中定义一系列可被当前进程访问的方法。通过AIDL我们可以定义这样的一系列方法。AIDL就好像Java中的其它接口一样可以在其中定义一些抽象方法。我们首先需要创建一个以.aidl为后缀的文件并在里面定义所需的抽象方法。 AIDL的一个主要特征是,通过使用AIDL,我们可以在两个不同的应用中进行通信(其实Messenger也可以实现同样的操作,两者区别请见博文Android进程间的通信之Messenger);当然,如果你的应用不需要跟另外一个应用进行通信,那就尽量避免使用AIDL机制吧。aidl文件中定义的抽象方法中,只有一些原始数据类型以及一些基本数据类型如String,lists,maps等可以作为这些方法的参数,如果你想使用一个自定义类作为参数,那么你的自定义类必须实现Parcelable接口,并且该类要被导入AIDL文件中,这一点应该在单独的课程中进行讲解。本文只学习简单的AIDL用法。 AIDL实现思路 AIDL通过定义服务端暴露的接口,以提供给客户端来调用,AIDL使服务端可以并行处理(因此你可能需要考虑多线程并发访问的线程安全性问题)。通过编写aidl文件来设计想要暴露的接口,编译后会自动生成相应的Java文件,服务端将接口的具体实现写入Stub中,通过IBinder对象传递给客户端,客户端bindService时,通过asInterface方法将IBinder还原成接口,供客户端调用其中的方法。 简单示例 AndroidManifest.xml <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <serviceandroid:name=".BoundService"android:process=":custom_process"/> </application> IBoundService.aidl packageyf.exam.service.aidl; interfaceIBoundService{ intgetResult(inta,intb); } BoundService.java publicclassBoundServiceextendsService{ privateIBoundService.StubmBinder=newIBoundService.Stub(){ @Override publicintgetResult(inta,intb)throwsRemoteException{ returna+b; } }; @Override publicIBinderonBind(Intentintent){ returnmBinder; } } MainActivity.java publicclassMainActivityextendsActivity{ privateButtonbtn=null; privateIBoundServicemIBoundService; privatebooleanmServiceConnected=false; privateServiceConnectionconn=newServiceConnection(){ @Override publicvoidonServiceDisconnected(ComponentNamename){ mServiceConnected=false; } @Override publicvoidonServiceConnected(ComponentNamename,IBinderservice){ mIBoundService=IBoundService.Stub.asInterface(service); mServiceConnected=true; } }; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn=(Button)findViewById(R.id.button1); Intentintent=newIntent(this,BoundService.class); bindService(intent,conn,Context.BIND_AUTO_CREATE); btn.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ if(mServiceConnected){ try{ intresult=mIBoundService.getResult(2,4); Toast.makeText(MainActivity.this,"result="+result, Toast.LENGTH_SHORT).show(); }catch(RemoteExceptione){ e.printStackTrace(); } } } }); } @Override protectedvoidonDestroy(){ super.onDestroy(); if(mServiceConnected){ unbindService(conn); mServiceConnected=false; } } } 本文转自 zddnd 51CTO博客,原文链接:http://blog.51cto.com/13013666/1939696

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册