首页 文章 精选 留言 我的

精选列表

搜索[centos],共5663篇文章
优秀的个人博客,低调大师

CentOS.6.6中 PHP-5.5.38安装配置

检查并安装相关依赖包 [root@lnmp02 tools]# rpm -qazlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel [root@lnmp02 tools]# rpm -qafreetype-devel libpng-devel gd-devel libcurl-devel libxslt libxslt-devel pcrepcre-devel [root@lnmp02 tools]# yum -yinstall zlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel [root@lnmp02 tools]# yum -yinstall freetype-devel libpng-devel gd-devel libcurl-devel libxslt libxslt-develpcre pcre-devel 注意yum源里无libiconv-devel包,需要用源码包单独安装 [root@lnmp02 tools]# wgethttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz [root@lnmp02 tools]# tar zxvflibiconv-1.14.tar.gz [root@lnmp02 tools]# cdlibiconv-1.14 [root@lnmp02 libiconv-1.14]#./configure --prefix=/usr/local/libiconv [root@lnmp02 libiconv-1.14]#make [root@lnmp02 libiconv-1.14]#make install 安装libmcrypt-devel、mcrypt、mhash、mhash-devel包,由于官方yum源里无此四个包,所以选择epel yum源安装 [root@lnmp02 ~]# wget -O/etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo ###安装epel yum源,此yum源于官方的不冲突,官方找不到需要的包时,才会从epel里找相应的包 [root@lnmp02 ~]# yum -y installlibmcrypt-devel mcrypt mhash mhash-devel 编译安装PHP [root@lnmp02 php-5.5.38]#./configure --prefix=/application/php-5.5.38 --with-mysql=mysqlnd--with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-png-dir--with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath--enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl--enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd--enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl--enable-sockets --with-xmlrpc --enable-soap --enable-short-tags--enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp [root@lnmp02 php-5.5.38]# make =============================================================================== 编译过程中报错1: /home/wangning/tools/php-5.5.38/sapi/cli/php:error while loading shared libraries: libmysqlclient.so.18: cannot open sharedobject file: No such file or directory make: *** [ext/phar/phar.php]Error 127 解决报错1方法: [root@lnmp02 php-5.5.38]# ln -s/application/mysql/lib/libmysqlclient.so.18/usr/lib64/ [root@lnmp02 php-5.5.38]# touchext/phar/phar.phar 或者 [root@lnmp02 php-5.5.38]# echo"/application/mysql/lib">>/etc/ld.so.conf [root@lnmp02 php-5.5.38]# ldconfig 编译过程中报错2: /usr/bin/ld: cannot find -lltdl collect2: ld returned 1 exitstatus make: *** [sapi/fpm/php-fpm]Error 1 解决报错2方法: [root@lnmp02 php-5.5.38]# yum-y install libtool-ltdl-devel =============================================================================== [root@lnmp02 php-5.5.38]# makeinstall [root@lnmp02 php-5.5.38]# ln -s/application/php5.3.27/ /application/php 配置php配置文件 [root@lnmp02 php-5.5.38]# cpphp.ini-production /application/php/lib/php.ini [root@lnmp02 php-5.5.38]# cp/application/php/etc/php-fpm.conf.default /application/php/etc/php-fpm.conf 把配置好的php-fpm.conf上传到/application/php/etc目录下 php-fpm.conf见附件 [root@lnmp02 etc]# mkdir/app/logs -p ###创建logs目录,php-fpm.conf文件里定义的日志路径 [root@lnmp02 etc]#/application/php/sbin/php-fpm ###启动PHP服务 [root@lnmp02 etc]# ps -ef|grepphp ###查看php进程 [root@lnmp02 etc]# lsof -i:9000 ###通过端口号查看php进程是否起来 本文转自 茁壮的小草 51CTO博客,原文链接:http://blog.51cto.com/wn2100/1941570,如需转载请自行联系原作者

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

让centos7 新建用户并获取root权限

1: 添加用户 # useradd name //name为添加用户名字 # passwd password //password为密码 输入密码后确认 passwd: all authentication tokens updated successfully 2:获取root权限 方法1): # vi /etc/sudoers 找到如下行 更改为 之后 # usermod -g root name 用新账户登录后运行命令 # su - 输入root账户密码即可。 方法2):用root账户登录后 # vi /etc/sudoers 找到如下行: 更改为: 用新账户登录后运行命令 # su - 输入root账户密码即可。 –文章整理于互联网。

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

CentOS下添加swap文件解决内存占用过高

注意:(Redhat5官方推荐)RAM<=4G,swap=2G;RAM>4G,<16G,swap=4G;RAM>16G,<64G,swap=8G;RAM>64G,<256G,swap=16G (Redhat6/7官方推荐)RAM<=2G,swap=2*RAM;RAM>2G,<8G,swap=RAM;RAM>8G,<64G,swap>=4G;RAM>=64G,swap>=4G;(休眠状态另外考虑) 添加swap有两种方式:1、添加swap分区;2、添加swap文件;此教程采用方法2,方法1在(https://www.idaobin.com/archives/153) 添加swap空间可用于解决系统物理内存不够,导致部分服务被强制关闭的问题 查看swap大小 free -m //或者 cat /proc/meminfo | grep -i swap 或者 fdisk -l 或者swap -s 注意:如swap显示0,或者没有输出swap,则表示系统并没有增加swap空间 创建swap文件 fallocate -l 2G /etc/swap //指定文件为2G 设置只允许root用户操作该文件 chmod 600 /etc/swap 检查文件大小与权限 ls -lh /etc/swap 设置该文件为swap文件 mkswap /etc/swap 启用swap文件 swapon /etc/swap 使swap文件永久生效 vim /etc/fstab 末尾添加: /etc/swap swap swap defaults 0 0 更改swap配置 vim /etc/sysctl.conf 有则修改,无则添加:(按需修改数值) vm.swappiness=30 //值越大表示越倾向于使用swap空间 重启生效 reboot 再次查看swap大小 free -m //或者 cat /proc/meminfo | grep -i swap 或者 fdisk -l 或者swap -s

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

centos进程、线程状态 tomcat线程数 并发数查看

1、linux进程查看:ps -aux 、top USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 10368 116 ? Ss Jan16 4:57 init [3] root 2 0.0 0.0 0 0 ? S< Jan16 0:05 [migration/0] root 3 0.0 0.0 0 0 ? SN Jan16 0:02 [ksoftirqd/0] root 4 0.0 0.0 0 0 ? S< Jan16 0:00 [watchdog/0] root 5 0.0 0.0 0 0 ? S< Jan16 4:43 [migration/1] root 6 0.0 0.0 0 0 ? SN Jan16 0:04 [ksoftirqd/1] root 7 0.0 0.0 0 0 ? S< Jan16 0:00 [watchdog/1] root 8 0.0 0.0 0 0 ? S< Jan16 3:48 [migration/2] root 9 0.0 0.0 0 0 ? SN Jan16 0:15 [ksoftirqd/2] root 10 0.0 0.0 0 0 ? S< Jan16 0:00 [watchdog/2] root 11 0.0 0.0 0 0 ? S< Jan16 4:16 [migration/3] root 12 0.0 0.0 0 0 ? SN Jan16 0:22 [ksoftirqd/3] root 13 0.0 0.0 0 0 ? S< Jan16 0:00 [watchdog/3] root 14 0.0 0.0 0 0 ? S< Jan16 0:11 [migration/4] root 15 0.0 0.0 0 0 ? SN Jan16 3:55 [ksoftirqd/4] root 16 0.0 0.0 0 0 ? S< Jan16 0:00 [watchdog/4] root 17 0.0 0.0 0 0 ? S< Jan16 0:26 [migration/5] root 18 0.0 0.0 0 0 ? SN Jan16 4:53 [ksoftirqd/5] root 19 0.0 0.0 0 0 ? S< Jan16 0:00 [watchdog/5] root 20 0.0 0.0 0 0 ? S< Jan16 0:28 [migration/6] root 21 0.0 0.0 0 0 ? SN Jan16 5:08 [ksoftirqd/6] root 22 0.0 0.0 0 0 ? S< Jan16 0:00 [watchdog/6] root 23 0.0 0.0 0 0 ? S< Jan16 0:29 [migration/7] root 24 0.0 0.0 0 0 ? SN Jan16 5:13 [ksoftirqd/7] 进程状态: D 无法中断的休眠状态(通常 IO 的进程); R 正在运行可中在队列中可过行的; S 处于休眠状态; T 停止或被追踪; W 进入内存交换 (从内核2.6开始无效); X 死掉的进程 (基本很少見); Z 僵尸进程; < 优先级高的进程 N 优先级较低的进程 L 有些页被锁进内存; s 进程的领导者(在它之下有子进程); l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads); + 位于后台的进程组; 2、线程查看 ps -Lf pid、ps -T -p pid 、top -Hp pid 查看线程数ps -Lf 570470|wc -l ps -Lf 570470 UID PID PPID LWP C NLWP STIME TTY STAT TIME CMD wls81 570470 570467 570470 0 183 Apr27 ? Sl 0:00 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570476 0 183 Apr27 ? Sl 0:01 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570477 0 183 Apr27 ? Sl 0:07 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570478 0 183 Apr27 ? Sl 0:07 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570479 0 183 Apr27 ? Sl 0:04 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570480 0 183 Apr27 ? Sl 0:08 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570481 0 183 Apr27 ? Sl 0:00 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570482 0 183 Apr27 ? Sl 0:00 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570483 0 183 Apr27 ? Sl 0:00 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570484 0 183 Apr27 ? Sl 0:00 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570485 0 183 Apr27 ? Sl 0:42 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbos wls81 570470 570467 570486 0 183 Apr27 ? Sl 0:43 /wls/apache/tomcat/jdk1.7.0_67/bin/java -DserverName=tm_icp-coreSF003 -Xms1024M -Xmx1024M -XX:MaxNewSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -X 线程的状态: 1.新建状态(New): 当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码 2.就绪状态(Runnable) 一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方法。当线程对象调用start()方法即启动了线程,start()方法创建线程运行的系统资源,并调度线程运行run()方法。当start()方法返回后,线程就处于就绪状态。 处于就绪状态的线程并不一定立即运行run()方法,线程还必须同其他线程竞争CPU时间,只有获得CPU时间才可以运行线程。因为在单CPU的计算机系统中,不可能同时运行多个线程,一个时刻仅有一个线程处于运行状态。因此此时可能有多个线程处于就绪状态。对多个处于就绪状态的线程是由Java运行时系统的线程调度程序(thread scheduler)来调度的。 3.运行状态(Running) 当线程获得CPU时间后,它才进入运行状态,真正开始执行run()方法. 4.阻塞状态(Blocked) 线程运行过程中,可能由于各种原因进入阻塞状态: 1>线程通过调用sleep方法进入睡眠状态; 2>线程调用一个在I/O上被阻塞的操作,即该操作在输入输出操作完成之前不会返回到它的调用者; 3>线程试图得到一个锁,而该锁正被其他线程持有; 4>线程在等待某个触发条件; ...... 所谓阻塞状态是正在运行的线程没有运行结束,暂时让出CPU,这时其他处于就绪状态的线程就可以获得CPU时间,进入运行状态。 5.死亡状态(Dead) 有两个原因会导致线程死亡: 1) run方法正常退出而自然死亡, 2) 一个未捕获的异常终止了run方法而使线程猝死。 为了确定线程在当前是否存活着(就是要么是可运行的,要么是被阻塞了),需要使用isAlive方法。如果是可运行或被阻塞,这个方法返回true; 如果线程仍旧是new状态且不是可运行的, 或者线程死亡了,则返回false. 3、网络连接状态 netstat -an Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 10.21.5.193:58080 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:4265 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:11050 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:11052 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:28309 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp 0 0 10.21.5.193:10050 10.21.2.83:19165 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:19200 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:18949 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:18259 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:17645 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:20460 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:17748 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:17955 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:17344 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:18420 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:20611 TIME_WAIT tcp 0 0 10.21.5.193:15909 10.21.255.227:12054 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:19950 TIME_WAIT tcp 0 0 10.21.5.193:15908 10.21.255.227:12054 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:19028 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:19755 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:17136 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:17877 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:17521 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:17304 TIME_WAIT tcp 0 0 10.21.5.193:41533 215.22.0.52:5180 ESTABLISHED tcp 0 0 10.21.5.193:25706 10.21.255.72:9988 ESTABLISHED tcp 0 0 10.21.5.193:10050 10.21.2.83:20165 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:17827 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:17449 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:20380 TIME_WAIT tcp 0 0 10.21.5.193:938 215.22.0.180:2049 ESTABLISHED tcp 0 0 10.21.5.193:57503 10.21.255.226:12056 ESTABLISHED tcp 0 0 10.21.5.193:10050 10.21.2.83:17562 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:18009 TIME_WAIT tcp 0 0 10.21.5.193:10050 10.21.2.83:19438 TIME_WAIT TCP三次握手的过程如下: 主动连接端发送一个SYN包给被动连接端; 被动连接端收到SYN包后,发送一个带ACK和SYN标志的包给主动连接端; 主动连接端发送一个带ACK标志的包给被动连接端,握手动作完成。 TCP四次挥手的过程如下: 主动关闭端发送一个FIN包给被动关闭端; 被动关闭端收到FIN包后,发送一个ACK包给主动关闭端; 被动关闭端发送了ACK包后,再发送一个FIN包给主动关闭端; 主动关闭端收到FIN包后,发送一个ACK包,当被动关闭端收到ACK包后,四次挥手动作完成,连接断开。 netstat中的各种状态: CLOSED 初始(无连接)状态。 LISTEN 侦听状态,等待远程机器的连接请求。 SYN_SEND 在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。 SYN_RECV 在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。 ESTABLISHED 完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。 FIN_WAIT_1 在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。 FIN_WAIT_2 在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。 TIME_WAIT 在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。 CLOSING 在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。 CLOSE_WAIT 在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。 LAST_ACK 在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。 主动连接端可能的状态有: CLOSED SYN_SEND ESTABLISHED。 主动关闭端可能的状态有: FIN_WAIT_1 FIN_WAIT_2 TIME_WAIT。 被动连接端可能的状态有: LISTEN SYN_RECV ESTABLISHED。 被动关闭端可能的状态有: CLOSE_WAIT LAST_ACK CLOSED。 在Linux下,如果连接数比较大,可以使用效率更高的ss来替代netstat。 4、如何查看tomcat对应的进程号:ps -ef|grep tomcat 根据进程号查询对应的目录:/proc/pid/cwd、ls -la /proc/pid/fd 根据目录查找对应的进程:lsof path 5、查看tomcat的线程数:ps -Lf pid|wc -l 6、查看tomcat的并发数:netstat -an|grep 10050|awk '{count[$6]++} END{for (i in count) print(i,count[i])}' TIME_WAIT 25 LISTEN 1 7、根据端口号查询对应进程 lsof -Pnl +m -i4|grep port #根据此命令查出端口号对应的进程pid,然后使用ps查到进程信息。 netstat -anp|grep prot #根据此命令查出端口号对应的进程pid,然后使用ps查到进程信息。

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

CentOS修改eth0网卡的名字

当虚拟机复制粘贴后,网卡名,就变成了ens33这个网卡名称了,所以想改成eth0的网卡名称,主要步骤有1、新建网卡配置脚本(ifcfg-eth0)2、修改grub 3、重新建立grub 4、重启网卡,虽然在这过程中,可能还会遇到网卡没有网的情况,那就菊花疼了 复制虚拟机后的网卡名称 网卡名称需要修改为eth0格式的 修改网卡脚本 到网卡配置目录,我看到了,我的 网卡配置脚本是ifcfg-ens33,原来的配置文件的网卡 的脚本, cd /etc/sysconfig/network-scripts/ ls #查看网卡配置的脚本 DEVICE和NAME还是以前的,需要修改为我们该成的网卡eth0,如果更改不了文件,需要切换为管理员,然后打开文件 su root 复制网卡文件到ifcfg-eth0 复制网卡配置文件 #移动操作 mv /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-eth0 #复制 cp /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-eth0 修改grub文件 修改grub配置文件,在rhgb quiet中添加:net.ifnames=0 biosdevname=0 vi /etc/default/grub 修改后的文件 重新建立grub文件 grub2-mkconfig -o /boot/grub2/grub.cfg 重启服务器 #重启服务器 reboot #查看网卡信息 ifconfig -a 本宝宝的网卡配置有问题啊 配置动态获取ip TYPE="Ethernet" BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" NAME="eth0" UUID="30441465-3d49-4265-80ee-298c3f246497" DEVICE="eth0" ONBOOT="yes" PEERDNS="yes" PEERROUTES="yes" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_PRIVACY="no" 重启网卡 #重启网卡 service network restart #当出现了下面失败的信息,需要查看日志 cat /var/log/messages | grep network 无法获取到链接 错误问题 是没法获取到ip,所以可能是我的NAT配置错误了 还原虚拟机NAT 还原 网卡配置信息 网卡加载好了,不过淡腾的是还是没能访问外网,菊花藤啊

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

CentOS默认权限umask、文件系统权限、特殊权限

第1章权限相关错误 1.1普通用户ls /root/ /root属于root普通用户没有任何权限,所以无法查看 [oldboy@znix ~]$ ls /root/ ls: cannot open directory /root/: Permission denied [oldboy@znix ~]$ ls -ld /root/ dr-xr-x---. 5root root4096 Sep 5 12:05 /root/ 1.2普通用户touch /root/oldboy.txt 创建文件,要看文件所在目录的权限,/root属于root普通用户没有任何权限,所以无法再里面创建文件,创建文件需要有所在目录的wx权限。 [oldboy@znix ~]$ touch /root/oldboy.txt touch: cannot touch `/root/oldboy.txt': Permission denied [oldboy@znix ~]$ ls -ld /root/ dr-xr-x---. 5root root4096 Sep 5 12:05 /root/ 1.3普通用户\rm -f /etc/passwd 删除文件需要有文件所在目录的wx权限,普通用户只有r-x权限,所以无法删除。 [oldboy@znix ~]$ \rm -f /etc/passwd rm: cannot remove `/etc/passwd': Permission denied [oldboy@znix ~]$ ls -ld /etc drwxr-xr-x. 78root root4096 Sep 5 11:27 /etc [oldboy@znix ~]$ ll /etc/passwd -rw-r--r-- 1root root1177 Sep 5 11:27 /etc/passwd 1.4普通用户cat /etc/shadow 查看文件的内容的时候,需要看文件的权限,在这里普通用户对这个文件没有任何权限,所以无法查看文件的内容。 查看文件的内容要用于文件的r权限。 [oldboy@znix ~]$ cat /etc/shadow cat: /etc/shadow: Permission denied [oldboy@znix ~]$ ll /etc/shadow ---------- 1root root881 Sep 5 11:27 /etc/shadow 1.5出现错误的解决办法 1、先确定要操作的是文件还是目录 2、确当你和操作对象的关系 3、文件先看文件的权限 4、目录先看目录的权限 5、查看文件内容、修改文件内容、运行文件(脚本),要看文件的权限 6、查看目录里的内容、删除文件、创建文件、重命名(文件改名),要看目录权限 第2章文件的访问过程 2.1过程 2.1.1 inode 文件的权限 block的位置 block 文件的实际内容 文件 相对路径访问文件 2.1.2据对路径访问 /目录 目录的block,找对应的文件 /etc目录的inode inode 文件的权限 block的位置 block 文件的实际内容 文件 2.2关系 1.文件的名字是存放在所在目录的block里面 2.文件名与inode的对应关系放在目录的block中 第3章网站权限-让网站根安全 3.1 linux系统默认权限 3.1.1文件默认权限 文件最大权限-rw-rw-rw- oldboy.txt 666 一般会给文件644权限rw-r--r-- 3.1.2目录默认权限 目录默认最大权限-rwxrwxrwx 777 一般会给目录 755权限rwxr-xr-x root root oldboydir 3.2如何规划网站权限,让网站更加安全 3.2.1让网站以www身份运行 [root@znix /]# useradd www 3.2.2让主要的文件归root用户所有 [root@znix /]# mkdir -p /app/blog [root@znix /]# mkdir -p /app/blog/upload [root@znix /]# ll -d /app/blog/ /app/blog/upload/ drwxr-xr-x 3 root root 4096 Sep 6 10:09 /app/blog/ drwxr-xr-x 2 root root 4096 Sep 6 10:09 /app/blog/upload/ [root@znix /]# su - www [www@znix ~]$ cd /app app/ application/ [www@znix ~]$ cd /app/blog/upload/ [www@znix upload]$ 3.2.3对于用户上传的文件处理 让用户上传的文件放在属于www用户的文件夹中; 限制文件的后缀; 上传之后不能查看…… [root@znix /]# chown www.www /app/blog/upload/ [root@znix /]# ll -d /app/blog/ /app/blog/upload/ drwxr-xr-x 3 root root 4096 Sep 6 10:09 /app/blog/ drwxr-xr-x 2 www www 4096 Sep 6 10:09 /app/blog/upload/ [root@znix /]# cd /app/blog/upload/ [root@znix upload]# touch aaa.png [root@znix upload]# 第4章 umask -默认权限控制 控制着linux里面默认的权限 4.1系统中文件和目录默认权限 file---666 -rw-rw-rw dir ---777 drwxrwxrwx 4.2 umask反掩码计算 默认的最大权限减去umask 4.2.1当umask为偶数 实例4-1 umask为0022 文件: file- 666-022=644 目录: dir- 777-022=755 4.2.2当umask为奇数 实例4-2 umask为0032 4.3当umask为奇数时,计算文件的默认权限的时候,要在奇数位加1 file- 666-032=634 +010=644 目录的不变 4.4示例umask=035 [root@znix ~]# umask 035 [root@znix ~]# touch file035 [root@znix ~]# mkdir dir035 [root@znix ~]# ll file035 && ll -d dir035 -rw-r---w- 1 root root 0 Sep 6 10:42 file035 drwxr---w- 2 root root 4096 Sep 6 10:42 dir035 file=642 dir=742 4.5永久修改umask的方法 [root@znix ~]# vim /etc/profile if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then umask 002 else umask 022 fi 解释: 如果[用户UID>=199 ]并且 [用户的名字==用户组名字];然后 umask 002 那么 umask 022 果如 第5章文件系统的权限 5.1 chattr设置文件系统的权限(change attr) chattr +a 只能追加(append) chattr +i无敌不能进行任何操作(immutable) 5.2测试+a 只能向文件中追加内容,不能删除 [root@znix ~]# chattr +a oldboy.txt [root@znix ~]# lsattr oldboy.txt -----a-------e- oldboy.txt [root@znix ~]# echo 123 >> oldboy.txt [root@znix ~]# > oldboy.txt -bash: oldboy.txt: Operation not permitted 5.2.1取掉权限-a [root@znix ~]# chattr -a oldboy.txt [root@znix ~]# lsattr oldboy.txt -------------e- oldboy.txt 5.3测试+i 不能对文件进行任何操作,root用户也不能操作。 [root@znix ~]# chattr +i oldboy.txt [root@znix ~]# lsattr oldboy.txt ----i--------e- oldboy.txt 5.4 lsattr list attr显示文件系统的权限 [root@znix ~]# lsattr -d /etc/ -------------e- /etc/ 第6章 linux的特殊权限 -rw-r--r-- 1 root root 252 Sep 6 11:04 oldboy.txt 这个是9位基础权限。 linux共12位权限,还有3个特殊权限。 6.1三种特殊的权限 [root@znix ~]# ls -ld /tmp/ /usr/bin/passwd /usr/bin/locate /bin/ls -rwxr-xr-x. 1 root root 117048 Mar 23 02:52/bin/ls drwxrwxrwt. 11 root root 4096 Sep 6 11:29/tmp/ -rwx--s--x. 1 root slocate 38464 Mar 12 2015/usr/bin/locate -rwsr-xr-x. 1 root root 30768 Nov 24 2015/usr/bin/passwd 6.2 rwsr-xr-x 放在主人的位置上suid,运行包含suid权限的命令的时候,相当于这个命令的所有者。 比如:/usr/bin/passwd修改用户密码 6.2.1给rm目录suid权限 [root@znix ~]# chmod u+s /bin/rm [root@znix ~]# ll /bin/rm -rwsr-xr-x. 1 root root 57440 Mar 23 02:52 /bin/rm [oldboy@znix ~]$ \rm -f /root/oldboy.txt [root@znix ~]# chmod u-s /bin/rm [root@znix ~]# ll /bin/rm -rwxr-xr-x. 1 root root 57440 Mar 23 02:52 /bin/rm 6.2.2 suid之大S与小s 文件的权限,有x权限时+s为小s,没有x时+s为大S [root@znix ~]# ll test.txt -rw-r--r--. 2 root root 22 Sep 4 12:28 test.txt [root@znix ~]# chmod u+s test.txt [root@znix ~]# ll test.txt -rwSr--r--. 2 root root 22 Sep 4 12:28 test.txt [root@znix ~]# chmod u+x test.txt [root@znix ~]# ll test.txt -rwsr--r--. 2 root root 22 Sep 4 12:28 test.txt 6.3 drwxrwxrwt粘滞位 [root@znix ~]# ll -d /tmp/ drwxrwxrwt. 11 root root 4096 Sep 6 11:29 /tmp/ 设置了粘滞位的目录在目录下面创建的文件只能自己管理自己的 6.4 rwx--s--x sgid 用户运行locate的时候是slocate组的。很少使用! rwx--s--x. 1 root slocate 38464 Mar 12 2015 /usr/bin/locate 第7章 系统中病毒怎么办 7.1解绝办法 1、使用top命令看谁用的cpu最多 2、找出占用cpu或内存大的进程的pid号码 3、根据进程的pid杀掉进程 7.2结束进程的方法 [root@znix ~]# kill进程号码 7.3 top命令 PID pid process id进程的号码系统中是唯一的 CMD进程的名字(命令) PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+COMMAND 14011 oldboy 20 0 102m 672 568 R 19.2 0.1 0:09.45dd

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

CentOS磁盘空间查看及空间满的处理

如果要查看磁盘还剩多少空间,当然是用df的命令了。 [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda2 14G 11G 2.6G 82% / /dev/sda1 99M 14M 81M 14% /boot tmpfs 442M 275M 168M 63% /dev/shm /dev/mapper/vg_test-lv_test 24M 1.3M 21M 6% /mnt/lvm [root@localhost ~]# 当然你可能并不关系磁盘还剩余多少空间,你是需要知道当前的文件夹下的磁盘使用情况: [root@localhost ~]# du –max-depth=1 -h 24K ./.gnome www.2cto.com 8.0K ./.eggcups 8.0K ./.config 136K ./.gnome2 16K ./.chewing 8.0K ./.gnome2_private 8.0K ./.Trash 224K ./.gstreamer-0.10 28K ./Desktop 48K ./.nautilus 48K ./.metacity 240K ./.scim 3.4M ./.mozilla 1012K ./.kde 12K ./.superkaramba 40K ./.local 8.0K ./.qt 272K ./.gconf 32K ./.mcop 16K ./.redhat 1.7M ./.thumbnails 8.0K ./.gconfd 7.5M . [root@localhost ~]# 看上面使用了du –max-depth=1 -h的命令来查找磁盘的使用情况,因为后面没有跟路径,它就默认是当前的路径。这个命令的-h参数是为了方便你读懂每个文件的大小,如果没有这个参数显示的文件大小就没有k,M,G等。执行命令后,前面n-1行的是该目录下每个文件夹的大小。最后一行显示的是该目录总的大小。 然后你会说不在乎该目录下每个文件的大小,你只想知道其中某一个文件(文件夹)的大小,那么有没有办法呢?当然你应该记得,我一直强调的,方法总比问题多,这儿也不例外。 请看下面的例子: [root@localhost ~]# du -sh 7.5M . www.2cto.com [root@localhost ~]# 聪明的你一定发现了这里显示的大小和上面最后一行的大小是一样的。这就是说这里显示的大小是该目录的总大小。 我知道你心里在冷笑,不是方法比问题多吗?这里说的也只有一个答案。当然,我不会让你失望的。另一个方法比较土,但是还是可以解决问题的。 [root@localhost ~]# du -h –max-depth=0 7.5M . [root@localhost ~]# 我想告诉你的是man手册里面已经告诉了:–max-depth=0的功能和-s的功能是一样的。 当然你也可以通过sed打印最后du -h –max-depth=1一行来解决问题,但我并不推荐。 这里涉及到一个原则,尽量使用命令提供选项的原始功能。如果命令没有提供该功能,才需要我们自己使用grep,sed,awk来选取我们需要的行。 当然du命令后面可以跟文件路径,来查看指定路径的大小的。 [root@localhost ~]# du -sh /opt/oracle 5.6G /opt/oracle [root@localhost ~]# 如果磁盘过大,那么查看文件大小就比较忙,请等一会,呵呵。 [转]http://www.2cto.com/os/201207/142116.html http://www.cnblogs.com/longdouhzt/p/3177755.html 以下转自:http://www.cnblogs.com/starRebel/p/5897450.html 今天在运行R脚本的时候报了个错:Fatal error: cannot create ‘R_TempDir’。排除了是自己写的代码的问题,想着应该是某个没见过的原因,google之,发现网上的说法是/tmp文件夹占满了磁盘空间。 运行 df 命令: Filesystem Size Used Avail Use% Mounted on /dev/mapper/VG00-LV01 50G 47G 16M 100% / 发现确实有个分区被占满了。。。 第一次碰到这种情况,继续google之,使用如下命令 du -sh /* | sort -nr 可以得到 / 目录下所有文件和目录的大小的排序结果。 从中找出最大的,在我的机器中/var文件占用了47个G的大小,应该就是它了,使用上面的命令继续追踪: du -sh /var/* | sort -nr du -sh /var/log/* | sort -nr du -sh /var/log/httpd/* | sort -nr 一层一层往下追踪,最后发现是 httpd/目录下的ssl_error_log占据了超大磁盘空间,看了下文件内容,估计是某次链接导致了大量错误信息被一遍遍的循环写入。 不多想,直接把这文件删除。 运行 df -i: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/VG00-LV01 3276800 226882 3049918 7% / tmpfs 4069835 7 4069828 1% /dev/shm /dev/md0 51200 39 51161 1% /boot /dev/mapper/VG00-LV02 56705024 11756 56693268 1% /opt 没有太大使用量,这是因为-i查看inode节点情况,和文件大小是不同概念。 再次运行df -h命令: Filesystem Size Used Avail Use% Mounted on /dev/mapper/VG00-LV01 50G 47G 16M 100% / 仍然还是100%,明明已经删除了啊。。。 不解,继续google之。。 结论是“在Linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。这种情况下,通过df和du命令查找的磁盘空间,两者是无法匹配的,可能df显示磁盘100%,而du查找目录的磁盘容量占用却很小。” 找出文件使用者,kill掉: lsof -n | grep deleted 找到使用ssl_error_log文件的进程,kill掉,然后再次df -h,发现已经没有100%的情况了。 处理完成~~

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

CentOS删除目录下的文件的几种方法

删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文件 2.find . -type f -delete或find . -type f -exec rm -f {} \; #用find命令查找普通文件并删除or用find命令的处理动作将其删除 3.find . -type f | xargs rm -f #用于参数列表过长;要删除的文件太多 4.rm-f `find . -type f` #删除全部普通文件 5.for delete in `ls -l`;do rm -f * ;done #用for循环语句删除当前目录下的所有类型的文件 删除指定目录下的文件 1.rm -f指定目录* #最经典的方法,删除指定目录下的所有类型的文件 2.find 指定目录 -type f -delete或find指定目录-type f -exec rm -f {} \; #用find命令查找指定目录下的所有普通文件并删除or用find命令的处理动作将其删除 3.find指定目录-type f | xargs rm -f #用于参数列表过长;要删除的文件太多 4.rm-f `find指定目录-type f` #删除指定目录下的全部普通文件 5.for delete in `ls –l指定目录路径`;do rm -f * ;done #用for循环语句删除指定目录下的所有类型的文件 补充(一个笨方法):yes | rm -ri * &> /dev/null或yes | rm-ri test/* &> /dev/null #删除当前目录下的全部类型的文件or删除test目录下的全部类型的文件

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

flume1.6 centos6.x 安装与配置

详情请参考: http://my.oschina.net/leejun2005/blog/288136 hadoop下载 1 wgethttp: //apache .fayea.com /hadoop/common/hadoop-2 .7.2 /hadoop-2 .7.2. tar .gz 安装步骤: 参考 http://www.open-open.com/lib/view/open1435761287778.html 和 http://blog.csdn.net/greensurfer/article/details/39450369 常用命令验证: yum install 安装的java环境路径 1 export JAVA_HOME= /usr/lib/jvm/java-1 .7.0-openjdk.x86_64/ ./bin/hdfs namenode -format ./start-dfs.sh ./stop-dfs.sh /usr/local/hadoop/bin/hadoop dfsadmin -report jps 本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1785617如需转载请自行联系原作者 cuizhiliang

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

阿里云ECS CentOS7.3 vsftpd 安装、配置、卸载

一、卸载 1、查看当前服务器中的vsftpd rpm -qa|grep vsftpd 例如结果为:vsftpd-2.2.2-13.el6_6.1.x86_64 2、执行卸载 rpm -e vsftpd-2.2.2-13.el6_6.1.x86_64 返回:卸载时自动备份vsftp的用户列表文件 warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave warning: /etc/vsftpd/user_list saved as /etc/vsftpd/user_list.rpmsave 3、删除遗留的文件 rm -rf /etc/vsftpd 二、安装 yum -y install vsftpd 三、配置 1、修改配置文件,/etc/vsftpd/vsftpd.conf,可以整个覆盖 # Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO # # Uncomment this to allow local users to log in. # When SELinux is enforcing check for SE bool ftp_home_dir local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # allow_writeable_chroot=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. # When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/xferlog # # If you want, you can have your log file in standard ftpd xferlog format. # Note that the default log file location is /var/log/xferlog in this case. xferlog_std_format=YES # # You may change the default value for timing out an idle session. idle_session_timeout=600 # # You may change the default value for timing out a data connection. data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. ascii_upload_enable=YES ascii_download_enable=YES # # You may fully customise the login banner string: ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd/banned_emails # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). # (Warning! chroot'ing can be very dangerous. If using chroot, make sure that # the user does not have write access to the top level directory within the # chroot) chroot_local_user=YES #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd/chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. ls_recurse_enable=YES # # When "listen" directive is enabled, vsftpd runs in standalone mode and # listens on IPv4 sockets. This directive cannot be used in conjunction # with the listen_ipv6 directive. listen=YES # # This directive enables listening on IPv6 sockets. By default, listening # on the IPv6 "any" address (::) will accept connections from both IPv6 # and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6 # sockets. If you want that (perhaps because you want to listen on specific # addresses) then you must run two copies of vsftpd with two configuration # files. # Make sure, that one of the listen options is commented !! #listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES userlist_deny=NO #这个是ftp根目录,根据你自己的情况配置 local_root=/var/ftp tcp_wrappers=YES use_localtime=YES 2、增加FTP账户 useradd ftpadmin -s /sbin/nologin 给ftpadmin设置密码 passwd ftpadmin 输入两遍密码即可 2.1、如果出现useradd: user 'ftpadmin' already exists,说明用户已经存在,需要先删除,否则还可能登陆不了。 删除用户 userdel ftpadmin 查找遗留的文件和目录 find / -name ftpadmin 例如出来结果: /var/spool/mail/ftpadmin /home/ftpadmin 哪个要删,哪个不要删,看清楚目录再删除,谨慎使用删除命令,否则遗憾多久就不知道了 rm -rf /var/spool/mail/ftpadmin rm -rf /home/ftpadmin 3、修改/etc/vsftpd/user_list文件,最后一行添加刚才创建的用户名ftpadmin,也可以整个覆盖 # vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody #这个就是刚才创建的那个,根据你自己的情况来 ftpadmin 4、创建FTP根目录 mkdir /var/ftp 如果上述目录已经存在,只需要修改权限即可 chown -R ftpadmin /var/ftp chmod -R 755 /var/ftp 5、设置开机启动 chkconfig --level 35 vsftpd on 到此,安装配置完毕,重新启动vsftpd服务 service vsftpd restart 就可以使用FlashFXPE或者FileZilla登陆FTP了。 下面以FileZilla为例,看图片

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

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部分的功能。

用户登录
用户注册