首页 文章 精选 留言 我的

精选列表

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

CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题

编译环境准备 注:(已经安装就无需重复操作)针对CentOS其他请百度 sh 复制代码 yum -y install bzip2 make gcc gcc-c++ 编译安装 1.下载源码 [gcc-9.2.0.tar.gz] 下载地址:https://mirrors.cnnic.cn/gnu/gcc 2.解压到目录 如:/data0/cmake/gcc-9.2.0 3.切换到解压目录 sh 复制代码 cd /data0/cmake/gcc-9.2.0 4.下载必要配置信息 sh 复制代码 ./contrib/download_prerequisites 5.创建编译文件夹并预编译 sh 复制代码 mkdir build && cd build && ../configure --prefix=/data0/gcc -enable-checking=release -enable-languages=c,c++,objc,obj-c++ -disable-multilib --enable-bootstrap --enable-threads=posix 6.编译并安装 sh 复制代码 make -j4 && make install 注:这里的4指的是你的电脑处理器核心有几个,并且此处编译时间很长我用了近2个小时,以下是编译完成的状态 7.重启 sh 复制代码 reboot 8.备份原来的gcc sh 复制代码 mkdir -p /data0/gcc/bak && mv /usr/bin/gcc /data0/gcc/bak/gcc mv /usr/bin/g++ /data0/gcc/bak/g++ mv /usr/bin/c++ /data0/gcc/bak/c++ mv /usr/bin/cc /data0/gcc/bak/cc mv /usr/lib64/libstdc++.so.6 /data0/gcc/bak/libstdc++.so.6 9.新建gcc链接 sh 复制代码 ln -s /data0/gcc/bin/gcc /usr/bin/gcc ln -s /data0/gcc/bin/g++ /usr/bin/g++ ln -s /data0/gcc/bin/c++ /usr/bin/c++ ln -s /data0/gcc/bin/gcc /usr/bin/cc cp /data0/gcc/lib64/libstdc++.so.6.0.27 /usr/lib64 cd /usr/lib64 ln -s libstdc++.so.6.0.27 libstdc++.so.6 10.重新运行以下命令检查动态库 sh 复制代码 strings /usr/lib64/libstdc++.so.6 | grep GLIBC 11.查看gcc版本号 sh 复制代码 gcc -v

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

CentOS8,CentOS7,CentOS6编译安装Redis5.0.7

安装准备 1.编译环境准备 sh 复制代码 yum -y install gcc tcl 注:已经安装就无需重复操作 2.下载Redis 下载地址:http://www.redis.io/download 安装 1.解压到指定目录 如:/data0/redis sh 复制代码 tar -zxvf redis-5.0.7.tar.gz 2.编译安装 进入解压后的目录 sh 复制代码 cd /data0/redis/redis-5.0.7 编译安装 sh 复制代码 make PREFIX=/data0/redis install 注:/data0/redis为安装目录 安装结果 3.配置Redis...

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

CentOS7安装Nginx、MySQL、PHP

之前才网上找了好多文章,但是配置总会出错,后来傻傻的发现官方文档都有的,当然配合网上文章说明更好,因此本文只说一个大概 安装PHP 官方配置 配置用户和用户组,需要有根目录权限 vim /usr/local/etc/php-fpm.conf Nginx 官方配置 user www www; # 需要具有根目录权限 www www 700 /home/www server { listen 80; server_name localhost; root /home/www; location / { index index.php index.html index.htm; } location ~ \.php$ { root /home/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } MySQL 可以根据官网下载配置,个人感觉挺好用的 使用Oracle的RPM软件包在Linux上安装MySQL

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

centos7下安装使用activemq

http://activemq.apache.org/download.html 下载.tar.gz文件后放到centos系统中 解压缩: tarzxvfapache-activemq-5.15.4-bin.tar.gz 然后进去bin目录 启动: ./activemqstart 没有报错查看是否启动: netstat-anp|grep61616 如果没有这个端口的信息,可能没有启动成功,需要看下日志是否有错误 catdata/activemq.log 我第一次启动的时候就没有这个端口,查看日志 然后我就改了下主机名称就可以了,因为之前的主机名称有数字和下划线,然后换成全英文的就可以了 hostnamectlset-hostnamezhaohy 然后再启动就可以了

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

Centos7 初始化脚本

#!bin/bash #authorchenkan #thisscriptforCentos7 #ChecktheOS echo"ChecktheOSisright?" yuminstallredhat-lsb-y#基于最小化安装的centos需安装lsb下面要用到 os=`uname-r|awk-F"."'{print$4}'` platform=`uname-i`#-i,显示硬件平台名称 if[$os!=el7||$platform!=x86-64];then echo-e"\e[1;31mthisscriptisonlyfor64bitel7operationsystem!\e[0m" exit-1 fi echo-e"\e[1;31mplatformisok!\e[0m" cat<<EOF +==============================+ |yoursystemisCentosx86_64| +==============================+ EOF echo-e"\e[1;31mChecktheOSFINSHED!\e[0m" sleep1 #version=`lsb_release-r-s|awk-F"."'{print$1}'`#此处可以判断版本号是不是7(利用-r-s进行筛选) :<<! version=`lsb_release-i-s|grepCentOS`#此处可显示系统名称,比上边好用一点 if[$version!="CentOS"];then echo-e"\e[1;31mthisscriptisonlyforCentOS\e[0m!" exit1 fi echo-e"\e[1;31msystemisright!\e[0m"#为了测试功能实现情况,用转义字符输出红色字符串 ! #Settheinstallationsourceofthesystemto163.com #先将CentOS-Base.repo进行备份(备份到CentOS-Base.repo.backup)中,以后需要可以很快的改回来 echo"Replacetheyumsource" mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup cd/etc/yum.repos.d/ wgethttp://mirrors.163.com/.help/CentOS7-Base-163.repo #阿里源 #wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo yummakecache echo-e"\e[1;31m2.Settheinstallationsourceofthesystemto163.comFINSHED!\e[0m" sleep1 #InstallEPELsourceandRPMforgesource #对于安装epel可以选择网易的源,我这边用的是阿里的源.而RPMforge,现在改名为RepoForge,用清华的源。 echo"InstallEPELsourceandRPMforgesource" rpm-ivhhttp://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 rpm--importhttps://mirrors.tuna.tsinghua.edu.cn/repoforge/RPM-GPG-KEY.dag.txt cat>>/etc/yum.repos.d/rpmforge.repo<<EOF#configurationfile [rpmforge] name=RHEL$releasever-RPMforge.net-dag baseurl=https://mirrors.tuna.tsinghua.edu.cn/repoforge/redhat/el7/en/$basearch/rpmforge mirrorlist=http://mirrorlist.repoforge.org/el7/mirrors-rpmforge enabled=1 protect=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck=1 [rpmforge-extras] name=RHEL$releasever-RPMforge.net-extras baseurl=https://mirrors.tuna.tsinghua.edu.cn/repoforge/redhat/el7/en/$basearch/extras mirrorlist=http://mirrorlist.repoforge.org/el7/mirrors-rpmforge-extras enabled=0 protect=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck=1 [rpmforge-testing] name=RHEL$releasever-RPMforge.net-testing baseurl=https://mirrors.tuna.tsinghua.edu.cn/repoforge/redhat/el7/en/$basearch/testing mirrorlist=http://mirrorlist.repoforge.org/el7/mirrors-rpmforge-testing enabled=0 protect=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck=1 EOF yumrepolistenabled#checktheenabled echo-e"\e[1;31mInstallEPELsourceandRPMforgesourceFINSHED!\e[0m" sleep1 #Updatesoftware echo"updatesoftware" yumcleanall#清除yum的缓存,yum安装的东西会储存在cache中,不清除很浪费。 yuminstallkernel-develkernel-headers&&echoexclude=kernel*>>/etc/yum.conf#安装kernel-devel和kernel-headers,并且在更新系统时,禁止更新kernel并将其重定向到yum.conf yum-yupdateglibc\*#更新C语言库 yum-yupdateyum\*rpm\*python\* echo-e"\e[1;31mUpdatesoftwareFINSHED!\e[0m" sleep1 #Settimetobesynchronized yum-yinstallntp#NetworkTimeProtocol echo"*10***/usr/sbin/ntpdates1a.time.edu.cn>/dev/null2>&1">>/var/spool/cron/root#将同步时间设置为北邮,2->stderr,1->stdout,0->stdin,意思就是执行每天上午10点进行时间同步,如果出现错误就输出。 servicecrondrestart#重启crond。crond是crontab的守护进程。 echo-e"\e[1;31mSettimetobesynchronizedFINSHED!\e[0m" sleep1 #这边提一下">"和">>"区别,">"定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空再添加;">>"是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响 #increasethenumberoffiles echo"ulimit-SHn102400">>/etc/rc.local#ulimit-acat/etc/security/limits.conf可查看 cat>>/etc/security/limits.conf<<EOF *softnofile102400 *hardnofile102400 *softnproc102400 *hardnproc102400 EOF echo-e"\e[1;31mincreasethenumberoffilesFINSHED!\e[0m" sleep1 #closedSELinux echo"closeselinux" sed-i's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config#sed-i替换命令,前者替换后者。具体使用参考:http://man.linuxde.net/sed echo-e"\e[1;31mclosedSELinuxFINSHED!\e[0m" sleep1 #disabletheGSSAPIdisableDNSspeeduptheSSH sed-i's/^GSSAPIAuthenticationyes$/GSSAPIAuthenticationno/'/etc/ssh/sshd_config sed-i's/#UseDNSyes/UseDNSno/'/etc/ssh/sshd_config#禁止dns的反向解析 servicesshdrestart echo-e"\e[1;31mdisabletheGSSAPIdisableDNSspeeduptheSSHFINSHED!\e[0m" sleep1 #optimizekernelparameters echo"optimizekernelparameters" echo"#----optimizekernelparameters------">>/etc/sysctl.conf echo"net.core.netdev_max_backlog=32768">>/etc/sysctl.conf echo"net.core.rmem_default=8388608">>/etc/sysctl.conf echo"net.core.rmem_max=16777216">>/etc/sysctl.conf echo"net.core.somaxconn=32768">>/etc/sysctl.conf echo"net.core.wmem_default=8388608">>/etc/sysctl.conf echo"net.core.wmem_max=16777216">>/etc/sysctl.conf echo"net.ipv4.ip_local_port_range=500065000">>/etc/sysctl.conf echo"net.ipv4.tcp_fin_timeout=30">>/etc/sysctl.conf echo"net.ipv4.tcp_keepalive_time=300">>/etc/sysctl.conf echo"net.ipv4.tcp_max_orphans=3276800">>/etc/sysctl.conf echo"net.ipv4.tcp_max_syn_backlog=65536">>/etc/sysctl.conf echo"net.ipv4.tcp_max_tw_buckets=5000">>/etc/sysctl.conf echo"net.ipv4.tcp_mem=94500000915000000927000000">>/etc/sysctl.conf echo"net.ipv4.tcp_syn_retries=2">>/etc/sysctl.conf echo"net.ipv4.tcp_synack_retries=2">>/etc/sysctl.conf echo"net.ipv4.tcp_syncookies=1">>/etc/sysctl.conf echo"net.ipv4.tcp_timestamps=0">>/etc/sysctl.conf echo"net.ipv4.tcp_tw_recycle=1">>/etc/sysctl.conf echo"net.ipv4.tcp_tw_reuse=1">>/etc/sysctl.conf /sbin/sysctl-p echo-e"\e[1;31moptimizekernelparametersFINSHED!\e[0m" sleep1 #adjustthekeyofthedeletedcharactertobackspace echo"adjustthekeyofthedeletedcharactertobackspace" echo'sttyerase^H'>>/etc/profile#默认^? echo'syntaxon'>>/root/.vimrc echo-e"\e[1;31madjustthekeyofthedeletedcharactertobackspaceFINSHED!\e[0m" sleep1 #canceldatabase echo"canceldatabase" if[[-e/etc/cron.daily.bak ]];then rm-rf/etc/cron.daily.bak fi mkdir/etc/cron.daily.bak mv/etc/cron.daily/mlocate/etc/cron.daily.bak echo-e"\e[1;31mcanceldatabaseFINSHED!\e[0m" sleep1 #shutdownunusedservices echo"shutdownunusedservices" systemctlstopfirewalld systemctldisablecups systemctldisablefirewalld systemctldisableauditd.service systemctldisableirqbalance.service systemctldisablelvm2-monitor.service echo-e"\e[1;31mshutdownunusedservicesFINSHED!\e[0m" sleep1 #disabletheipv6 echo"disabletheipv6" cat>>/etc/modprobe.d/ipv6.conf<<EOFI aliasnet-pf-10off optionsipv6disable=1 EOFI echo"NETWORKING_IPV6=off">>/etc/sysconfig/network echo-e"\e[1;31mdisabletheipv6FINSHED!\e[0m" sleep1

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

CentOS7设置桥接网卡

1.VBOX 设备-网络 桥接网卡 选中宿主机网卡 2.centOS7网卡设置 #vi/etc/sysconfig/network-scripts/ifcfg-enp0s3 BOOTPROTO=static //静态网络 ONBOOT=yes IPADDR=192.168.0.15 #该ip为宿主机所在局域网中的任意IP,可在宿主机命令行 ipconfig查看 NETMASK=255.255.255.0 #子网掩码 3.设置网关 #vi /etc/sysconfig/network NETWORKING=yes GATEWAY=192.168.0.1 #宿主机网关 4.声明网关 #vi/etc/resolv.conf nameserver 192.168.0.1 5重启网卡 #service network restart 6.测试是否联网 #ping www.baidu.com #ping 192.168.0.1

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

centos7 docker Dockerfile 生成镜像

这里我们直接上Dockerfile(注意Dockerfile的名字,D必须大写,build的时后会自动去指定的目录下查找) [python] view plain copy #lhy/centos:ssh # #by:V FROMcentos:centos6.6 MAINTAINERliuhuiyao RUNyum-yinstallopenssh-server;yumcleanall RUNmkdir/var/run/sshd RUNssh-keygen-trsa-f/etc/ssh/ssh_host_rsa_key RUNssh-keygen-tdsa-f/etc/ssh/ssh_host_dsa_key EXPOSE22 CMD/usr/sbin/sshd-D 使用build打包成image(注意后面的./代表Dockerfile的路径) [python] view plain copy dockerbuild-tlhy/ssh./ 这里有时候会因为网络原因,或者一些其他原因导致打包的镜像名称为<none> ,如果出现这个错误就说明打包的这个镜像是错误的。(也可以注意build过程中的strin) 如果成功会提示打包成功的哦 [python] view plain copy Successfullybuilt3ea906c5b3a9 这里我们创建一个容器来实验一下 [python] view plain copy dockerrun-d-P--namelhy_sshlhy/ssh 在查看容器状态,如果STATUS是UP,说明没有退出,试验成功 [python] view plain copy dockerps-a 如果容器里面没有持续运行的进程,容器就会退出。这里我们看到容器暴露的22端口对应宿主机的32769 所以我们来ssh验证一下 [python] view plain copy ssh-p32769root@127.0.0.1 这里我们直接上Dockerfile(注意Dockerfile的名字,D必须大写,build的时后会自动去指定的目录下查找) [python] view plain copy #lhy/centos:ssh # #by:V FROMcentos:centos6.6 MAINTAINERliuhuiyao RUNyum-yinstallopenssh-server;yumcleanall RUNmkdir/var/run/sshd RUNssh-keygen-trsa-f/etc/ssh/ssh_host_rsa_key RUNssh-keygen-tdsa-f/etc/ssh/ssh_host_dsa_key EXPOSE22 CMD/usr/sbin/sshd-D 使用build打包成image(注意后面的./代表Dockerfile的路径) [python] view plain copy dockerbuild-tlhy/ssh./ 这里有时候会因为网络原因,或者一些其他原因导致打包的镜像名称为<none> ,如果出现这个错误就说明打包的这个镜像是错误的。(也可以注意build过程中的strin) 如果成功会提示打包成功的哦 [python] view plain copy Successfullybuilt3ea906c5b3a9 这里我们创建一个容器来实验一下 [python] view plain copy dockerrun-d-P--namelhy_sshlhy/ssh 在查看容器状态,如果STATUS是UP,说明没有退出,试验成功 [python] view plain copy dockerps-a 如果容器里面没有持续运行的进程,容器就会退出。这里我们看到容器暴露的22端口对应宿主机的32769 所以我们来ssh验证一下 [python] view plain copy ssh-p32769root@127.0.0.1

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

RabbitMQ安装下载(CentOS7)

安装erlang yum install ncurses-devel tar xf otp_src_20.1.tar.gz 进入解压后目录 ./configure --prefix=/usr/local/erlang20 --without-javac make -j 4 make install 验证erlang安装成功 安装rabbitmq xz -d rabbitmq-server-generic-unix-3.6.14.tar.xz tar xf rabbitmq-server-generic-unix-3.6.14.tar yum install python -y yum install xmlto -y yum install python-simplejson -y mv rabbitmq_server-3.6.14 /usr/local/rabbitmq 切换到此目录下 image.png

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

Centos7安装与配置Nginx

安装与配置 1.安装nginx yum intsall nginx sudo systemctl start nginx 启动服务 sudo firewall-cmd --permanent --zone=public --add-service=http 允许http通信 sudo firewall-cmd --permanent --zone=public --add-service=https 允许https通信 sudo firewall-cmd --reload 重新加载配置 2.配置 在 /etc/nginx/conf.d 目录中新建一个my.conf文件,在此之前先将nginx.conf 配置文件中的server节点注释掉 server { listen 80; #映射端口 location / { proxy_pass http://localhost:5000; #监听端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } 3.使用新配置启动nginx 执行这两个命令中的任一个重置nginx nginx -s reload 重新加载配置文件 systemctl nginx restart 重启nginx 4.访问网站 此时通过80端口访问网站应该是一切正常,但不凡意外发生 异常情况502 进入 /var/log/nginx/ 目录中查看错误日志,如果是以下错误,可以尝试用下面的方法解决 getsebool -a |grep httpd_can_network_connect //检查http网络访问权限情况 我们可以看到它是关闭状态的 执行 setsebool -P httpd_can_network_connect 1 //开启网络访问权限 开启后 http_can_network_connect 状态为on 此时在访问应该不会再有问题了,此文仅为学习时记录,我自己重现了三次,应该是没什么问题的。最后 跟jesse 一起学习.Net Core 。

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

centos7 分区 格式化

1. 查看磁盘 [root@yzb-centos72-3 ~]#fdisk -l Disk /dev/vda: 32.2 GB, 32212254720 bytes, 62914560 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x0009680e Device Boot Start End Blocks Id System /dev/vda1 2048 4194303 2096128 82 Linux swap / Solaris /dev/vda2 * 4194304 56623103 26214400 83 Linux Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes 发现/dev/vdb这块未分区、格式化 2. 分区 [root@yzb-centos72-3 ~]#fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x20ea1593. Command (m for help): 输入m 查看 Command (m for help):m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): 输入n Command (m for help):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended 输入p Select (default p):p 一路回车默认 Partition number (1-4, default 1): First sector (2048-209715199, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): Using default value 209715199 Partition 1 of type Linux and of size 100 GiB is set 输入w Command (m for help):w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 查看 fdisk -l 已经分好区,但是未格式化 [root@yzb-centos72-3 ~]#fdisk -l Disk /dev/vda: 32.2 GB, 32212254720 bytes, 62914560 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x0009680e Device Boot Start End Blocks Id System /dev/vda1 2048 4194303 2096128 82 Linux swap / Solaris /dev/vda2 * 4194304 56623103 26214400 83 Linux Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x35bf8022 Device Boot Start End Blocks Id System /dev/vdb1 2048 209715199 104856576 83 Linux 3. 格式化 mkfs -t ext3 或者 mkfs.ext3 [root@yzb-centos72-3 ~]#mkfs -t ext3 /dev/vdb1 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 6553600 inodes, 26214144 blocks 1310707 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 800 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, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done [root@yzb-centos72-3 ~]# 4. 挂载 先在根目录建data [root@yzb-centos72-3 /]#mkdir data 然后挂载 mount /dev/vdb1 /data 查看挂载后的目录 [root@yzb-centos72-3 /]#df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/vda2 ext4 25G 3.1G 21G 14% / devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs tmpfs 3.9G 57M 3.8G 2% /run tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup tmpfs tmpfs 783M 0 783M 0% /run/user/0 /dev/vdb1 ext3 99G 60M 94G 1% /data 将挂载持久化到文件,开机自动挂载 /etc/fstab vi /etc/fstab # # /etc/fstab # Created by anaconda on Mon Jan 2 22:58:53 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=381f5199-12a4-4d44-91af-be015a752145 / ext4 defaults 1 1 UUID=4b0d629d-79d8-43e3-82bd-8a7b98fcfb75 swap swap defaults 0 0 /dev/vdb1 /data ext3 defaults 1 1

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

centos7安装配置memcached

1.memcached的安装 yum install memcached memcached -h vim /etc/sysconfig/memcached PORT=”11211″ USER=”memcached” MAXCONN=”1024″ CACHESIZE=”64″ OPTIONS=”" systemctl restart memcached systemctl start memcached systemctl enable memcached systemctl status memcached systemctl stop memcached memcached-tool 127.0.0.1:11211 stats memcached-tool 127.0.0.1:11211 # Item_Size Max_age Pages Count Full? Evicted Evict_Time OOM 2 120B 727s 1 7 yes 0 0 0 4 192B 7243s 1 3 yes 0 0 0 5 240B 72693s 1 14 yes 0 0 0 9 600B 0s 1 0 yes 0 0 0 10 752B 79s 1 1 yes 0 0 0 # slab class编号 Item_Size chunk大小 Max_age LUR内最旧的记录生存时间 Pages 分配给slab的页数 Count slab内的记录数 Full? slab内是否含有空闲chunk 2./etc/php.d/memcache.ini详解 ; ----- Enable memcache extension module extension=memcache.so ; ----- Options for the memcache module ; see http://www.php.net/manual/en/memcache.ini.php ; Whether to transparently failover to other servers on errors ;memcache.allow_failover=1 (连接出错时Memcache扩展是否故障转移到其他服务器上默认为1) ; Data will be transferred in chunks of this size ;memcache.chunk_size=32768 (控制数据传输的大小) ; Autocompress large data ;memcache.compress_threshold=20000 ; The default TCP port number to use when connecting to the memcached server ;memcache.default_port=11211 (设置连接Memcache所使用的TCP端口) ; Hash function {crc32, fnv} ;memcache.hash_function=crc32 ; Hash strategy {standard, consistent} ;memcache.hash_strategy=consistent (哈希策略) ; Defines how many servers to try when setting and getting data. ;memcache.max_failover_attempts=20 (限制连接到持久性数据或检索数据的服务器数目) ; The protocol {ascii, binary} : You need a memcached >= 1.3.0 to use the binary protocol ; The binary protocol results in less traffic and is more efficient ;memcache.protocol=ascii ; Redundancy : When enabled the client sends requests to N servers in parallel ;memcache.redundancy=1 ;memcache.session_redundancy=2 ; Lock Timeout ;memcache.lock_timeout = 15 ; ----- Options to use the memcache session handler ; RPM note : save_handler and save_path are defined ; for mod_php, in /etc/httpd/conf.d/php.conf ; for php-fpm, in /etc/php-fpm.d/*conf ; Use memcache as a session handler ;session.save_handler=memcache ; Defines a comma separated of server urls to use for session storage;session.save_path="tcp://localhost:11211?persistent=1&weight=1&timeout=1&retry_interval=15" 2.php操作memcache的使用测试 2.1创建KEY值数据 vi test1.php <?php $mem = new memcache; $mem->connect("127.0.0.1", 11211); $mem->set('key20', 'This is a test!', 0, 60); $val = $mem->get('key20'); echo $val; ?> 2.2替换KEY值数据 vi test2.php <?php $mem = new memcache; $mem->connect("127.0.0.1", 11211); $mem->replace('key20', 'This is replace value', 0, 60); $val = $mem->get('key20'); echo $val; ?> 2.3删除KEY值数据 vi test3.php <?php $mem = new memcache; $mem->connect("127.0.0.1", 11211); $mem->delete('key20'); $val = $mem->get('key20'); echo $val; ?> php -f test1.php(执行php -h看帮助) 命令帮助: Memcache::add // 添加一个值,如果已经存在,则返回false Memcache::addServer // 添加Memcache地址 Memcache::close // 关闭一个Memcache的连接 Memcache::connect // 打开一个到Memcache的连接 Memcache::decrement // 对保存的某个key中的值进行减法操作 Memcache::delete // 删除一个Memcache上的key值 Memcache::flush // 刷新所有Memcache上保存的项目(类似于删除所有的保存的项目) Memcache::get // 从Memcache上获取一个key值 Memcache::getExtendedStats // 获取进程池中所有进程的运行系统统计 Memcache::getServerStatus // 获取运行服务器的参数 Memcache::getStats //获取当前Memcache服务器运行的状态 Memcache::getVersion // 返回运行的Memcache的版本信息 Memcache::increment // 对保存的某个key中的值进行加法操作 Memcache::pconnect // 打开一个到Memcache的长连接 Memcache::replace // 替换一个已经存在Memcache服务器上的项目(功能类似Memcache::set) Memcache::set // 向Memcache添加一个值,如果已经存在,则覆写 Memcache::setCompressThreshold // 对大于某一大小的数据进行压缩 Memcache::setServerParams // 在运行时修改服务器的参数 2.查看memcached性能状态 2.1查看服务器性能信息 #telnet localhost 11211 stats(此处输入stats命令) STAT pid 1277 (进程ID) STAT uptime 176145 (服务器运行秒数,秒) STAT time 1448592684 (服务器当前unix时间戳) STAT version 1.4.15 (服务器版本) STAT libevent 2.0.21-stable STAT pointer_size 64 (操作系统字大小 32/64位) STAT rusage_user 3.869494 (进程累计用户时间,秒) STAT rusage_system 4.636292 (进程累计系统时间,秒) STAT curr_connections 11 (当前打开连接数) STAT total_connections 21 (曾打开的连接总数) STAT connection_structures 12 (服务器分配的连接结构数) STAT reserved_fds 20 STAT cmd_get 483 (执行get命令总数) STAT cmd_set 144 (执行set命令总数) STAT cmd_flush 0 (指向flush_all命令总数) STAT cmd_touch 0 STAT get_hits 369 (get未命中次数) STAT get_misses 114 (get未命中次数) STAT delete_misses 0 (delete未命中次数) STAT delete_hits 0 (delete命中次数) STAT incr_misses 0 (incr未命中次数) STAT incr_hits 0 (incr命中次数) STAT decr_misses 0 (decr未命中次数) STAT decr_hits 0 (decr命中次数) STAT cas_misses 0 (cas未命中次数) STAT cas_hits 0 (cas命中次数) STAT cas_badval 0 (使用擦拭次数) STAT touch_hits 0 STAT touch_misses 0 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 82819 (读取字节总数) STAT bytes_written 104266 (写入字节总数) STAT limit_maxbytes 67108864 (分配的内存数(字节)) STAT accepting_conns 1 (目前接受的连接数) STAT listen_disabled_num 0 STAT threads 4 (线程数) STAT conn_yields 0 STAT hash_power_level 16 STAT hash_bytes 524288 STAT hash_is_expanding 0 STAT bytes 4789 (存储item字节数) STAT curr_items 20 (item个数) STAT total_items 144 (item总数) STAT expired_unfetched 15 STAT evicted_unfetched 0 STAT evictions 0 (获取空间删除item的总数) STAT reclaimed 36 END quit(此处输入quit退出memcached状态查看) 2.2查看每个slab中存储items的详细信息 #telnet localhost 11211 stats items(此处输入stats命令) STAT items:4:number 3 STAT items:4:age 2140(当前数据中缓存最久的时间,一般小于evicted_time(不为0)时间) STAT items:4:evicted 0(如果evicted不是0,说明slab开始提前剔除数据,需要注意) STAT items:4:evicted_nonzero 0 STAT items:4:evicted_time 0(最后被剔除数据的缓存时间,不是发生LRU就memcached负载过量) STAT items:4:outofmemory 0 STAT items:4:tailrepairs 0 STAT items:4:reclaimed 6 STAT items:4:expired_unfetched 1 STAT items:4:evicted_unfetched 0 STAT items:5:number 15 STAT items:5:age 67590 STAT items:5:evicted 0 STAT items:5:evicted_nonzero 0 STAT items:5:evicted_time 0 STAT items:5:outofmemory 0 STAT items:5:tailrepairs 0 STAT items:5:reclaimed 22 STAT items:5:expired_unfetched 10 STAT items:5:evicted_unfetched 0 STAT items:10:number 1 STAT items:10:age 283 STAT items:10:evicted 0 STAT items:10:evicted_nonzero 0 STAT items:10:evicted_time 0 STAT items:10:outofmemory 0 STAT items:10:tailrepairs 0 STAT items:10:reclaimed 13 STAT items:10:expired_unfetched 7 STAT items:10:evicted_unfetched 0 END 2.3查看slab内存分配信息 #telnet localhost 11211 stats slabs(此处输入stats命令) STAT 4:chunk_size 192 (当前slab每个chunk的大小,固定值) STAT 4:chunks_per_page 5461(每个page能够存放的chunk数,固定值) STAT 4:total_pages 1 (分配给当前slab的page总数,单位M。slab剔除严重,该值会太少) STAT 4:total_chunks 5461 (当前slab最多能够存放的chunk数,=chunks_per_page*total_pages) STAT 4:used_chunks 3 (已经被占用的chunks总数) STAT 4:free_chunks 5458 (过期数据空出的chunk里还没有被使用的chunk数) STAT 4:free_chunks_end 0 (新分配但还没有被使用的chunk数) STAT 4:mem_requested 555 STAT 4:get_hits 136 STAT 4:cmd_set 9 STAT 4:delete_hits 0 STAT 4:incr_hits 0 STAT 4:decr_hits 0 STAT 4:cas_hits 0 STAT 4:cas_badval 0 STAT 4:touch_hits 0 STAT 5:chunk_size 240 STAT 5:chunks_per_page 4369 STAT 5:total_pages 1 STAT 5:total_chunks 4369 STAT 5:used_chunks 14 STAT 5:free_chunks 4355 STAT 5:free_chunks_end 0 STAT 5:mem_requested 3158 STAT 5:get_hits 158 STAT 5:cmd_set 43 STAT 5:delete_hits 0 STAT 5:incr_hits 0 STAT 5:decr_hits 0 STAT 5:cas_hits 0 STAT 5:cas_badval 0 STAT 5:touch_hits 0 STAT 10:chunk_size 752 STAT 10:chunks_per_page 1394 STAT 10:total_pages 1 STAT 10:total_chunks 1394 STAT 10:used_chunks 1 STAT 10:free_chunks 1393 STAT 10:free_chunks_end 0 STAT 10:mem_requested 646 STAT 10:get_hits 104 STAT 10:cmd_set 105 STAT 10:delete_hits 0 STAT 10:incr_hits 0 STAT 10:decr_hits 0 STAT 10:cas_hits 0 STAT 10:cas_badval 0 STAT 10:touch_hits 0 STAT active_slabs 3 STAT total_malloced 3145360 END 报错1:执行memcached -vv报错can't run as root without the -u switch 解决1:memcached -vv -u root 3.增加memcache缓存日志 yum -y install php-pecl-memcache 如果是PHP56版本的应该运行 yum -y install php56w-pecl-memcache 防火墙放开11211 firewall-cmd --permanent --zone=public --add-port=11211/tcp 检查端口是否开放 echo stats | nc memcache_host_name_or_ip 11211 增加日志 /bin/memcached -d -m 512 -l 127.0.0.1 -p 10000 -u root -vv >> /tmp/memcached.log 2>&1 tail -f /tmp/memcached.log 4.memcache缓存mysql的测试页面 vi mysql-memcache.php <?php $host = 'IP:3306'; $user = 'guowang'; $passwd = '123456'; $db = 'test'; $conn = mysql_connect($host,$user,$passwd); mysql_select_db($db,$conn); $sql = 'select * from t order by id desc'; $result = mysql_query($sql,$conn); while ($row = mysql_fetch_array($result,MYSQL_ASSOC)){ $test_key[] = $row; } $sql = md5($sql); $mem = new Memcache; $mem->connect("IP", 11211); $mem->set($sql,$test_key, MEMCACHE_COMPRESSED, 600); print_r($mem->get($sql)); ?> 5.memcached禁止外网访问 lnmp默认安装的memcached是可以外网访问的,对于我这个小站来说外网不会用到,所以只允许内网用。修改文件vi /etc/init.d/memcached PORT=11211 USER=root MAXCONN=1024 CACHESIZE=32 OPTIONS="" IP=127.0.0.1 RETVAL=0 prog="memcached" start () { echo -n $"Starting $prog: " memcached -d -l $IP -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached.pid $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached } 如果有安装iptables的话可以用iptables来禁止外网访问 本文转自 guowang327 51CTO博客,原文链接:http://blog.51cto.com/guowang327/1709503,如需转载请自行联系原作者

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

centos7 添加硬盘和分区

首先查看系统中的硬盘 [root@svnhost ~]# fdisk -l Disk /dev/sda: 120.0 GB, 120034123776 bytes, 234441648 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x00033922 Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 234440703 116707328 8e Linux LVM Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/centos-swap: 12.0 GB, 12004098048 bytes, 23445504 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sdb: 1999.8 GB, 1999844147200 bytes, 3905945600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/centos-home: 53.8 GB, 53750005760 bytes, 104980480 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes 系统中有2块盘/dev/sda和/dev/sdb./dev/sda已经做好分区。下面对/dev/sdb做分区 [root@svnhost ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x8626c507. Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): n//新建主分区 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p Partition number (1-4, default 1): First sector (2048-3905945599, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-3905945599, default 3905945599): +500G//输入分区大小 Partition 1 of type Linux and of size 500 GiB is set Command (m for help): p //打印分区 Disk /dev/sdb: 1999.8 GB, 1999844147200 bytes, 3905945600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x8626c507 Device Boot Start End Blocks Id System /dev/sdb1 2048 1048578047 524288000 83 Linux Command (m for help): n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): Using default response p Partition number (2-4, default 2): First sector (1048578048-3905945599, default 1048578048): Using default value 1048578048 Last sector, +sectors or +size{K,M,G} (1048578048-3905945599, default 3905945599): +500G Partition 2 of type Linux and of size 500 GiB is set Command (m for help): p Disk /dev/sdb: 1999.8 GB, 1999844147200 bytes, 3905945600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x8626c507 Device Boot Start End Blocks Id System /dev/sdb1 2048 1048578047 524288000 83 Linux /dev/sdb2 1048578048 2097154047 524288000 83 Linux Command (m for help): n //新建扩展分区 Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): e Partition number (3,4, default 3): First sector (2097154048-3905945599, default 2097154048): Using default value 2097154048 Last sector, +sectors or +size{K,M,G} (2097154048-3905945599, default 3905945599): Using default value 3905945599 Partition 3 of type Extended and of size 862.5 GiB is set Command (m for help): p Disk /dev/sdb: 1999.8 GB, 1999844147200 bytes, 3905945600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x8626c507 Device Boot Start End Blocks Id System /dev/sdb1 2048 1048578047 524288000 83 Linux /dev/sdb2 1048578048 2097154047 524288000 83 Linux /dev/sdb3 2097154048 3905945599 904395776 5 Extended Command (m for help): n//新建逻辑分区 Partition type: p primary (2 primary, 1 extended, 1 free) l logical (numbered from 5) Select (default p): l Adding logical partition 5 First sector (2097156096-3905945599, default 2097156096): Using default value 2097156096 Last sector, +sectors or +size{K,M,G} (2097156096-3905945599, default 3905945599): Using default value 3905945599 Partition 5 of type Linux and of size 862.5 GiB is set Command (m for help): p Disk /dev/sdb: 1999.8 GB, 1999844147200 bytes, 3905945600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x8626c507 Device Boot Start End Blocks Id System /dev/sdb1 2048 1048578047 524288000 83 Linux /dev/sdb2 1048578048 2097154047 524288000 83 Linux /dev/sdb3 2097154048 3905945599 904395776 5 Extended /dev/sdb5 2097156096 3905945599 904394752 83 Linux Command (m for help): w //写入新的分区表 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 创建文件系统 [root@svnhost ~]# mkfs -t ext3 /dev/sdb1 [root@svnhost /]# mkfs -t ext3 /dev/sdb2 [root@svnhost /]# mkfs -t ext3 /dev/sdb5 编辑系统文件 [root@svnhost /]#vi /etc/fstab 添加: /dev/sdb1 /u01 ext3 defaults 0 0 /dev/sdb2 /u02 ext3 defaults 0 0 /dev/sdb5 /u03 ext3 defaults 0 0 至此,新建的硬盘分区在系统重启时就会自动挂载。 主分区,扩展分区和逻辑分区 主分区,也称为主磁盘分区,和扩展分区、逻辑分区一样,是一种分区类型。主分区中不能再划分其他类型的分区,因此每个主分区都相当于一个逻辑磁盘(在这一点上主分区和逻辑分区很相似,但主分区是直接在硬盘上划分的,逻辑分区则必须建立于扩展分区中)。 1. 一个硬盘可以有1到3个主分区和1个扩展分区,也可以只有主分区而没有扩展分区,但主分区必须至少有1个,扩展分区则最多只有1个,且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。 (硬盘的第一个扇区最重要,其上面有硬盘主引导记录(占用446bytes)和分区表(占用64 bytes),之所以只能有四个主分区就是因为分区表只有64B,只能装下4条记录) 所以只能有四个主分区的硬盘的限制,并不是操作系统的限制,而最多只能有一个拓展分区则是操作系统的限制 2. 分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,剩下的部分就浪费了。 3. 扩展分区不能直接使用,必须分成若干逻辑分区。所有的逻辑分区都是扩展分区的一部分。 硬盘的容量=主分区的容量+扩展分区的容量; 扩展分区的容量=各个逻辑分区的容量之和。 4. 由主分区和逻辑分区构成的逻辑磁盘称为驱动器(Drive)或卷(Volume)。 5. 激活的主分区会成为“引导分区”(或称为“启动分区”),引导分区会被操作系统和主板认定为第一个逻辑磁盘(在DOS/Windows中会被识别为“驱动器C:”或“本地磁盘C:”,即通称的C盘)。有关DOS/Windows启动的重要文件,如引导记录、boot.ini、ntldr、ntdetect.com等,必须放在引导分区中。

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

CentOS7安装和配置FTP

1. 安装vsftpd #安装vsftpd yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service # 重启 service vsftpd restart # 查看vsftpd服务的状态 systemctl status vsftpd.service 2. 配置vsftpd.conf #备份配置文件 cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak #执行以下命令 sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf' #添加下列内容到vsftpd.conf末尾 use_localtime=YES listen_port=21 chroot_local_user=YES idle_session_timeout=300 guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/vconf data_connection_timeout=1 virtual_use_local_privs=YES pasv_min_port=10060 pasv_max_port=10090 accept_timeout=5 connect_timeout=1 3. 建立用户文件 #第一行用户名,第二行密码,不能使用root为用户名 vi /etc/vsftpd/virtusers chris 123456 chang 123456 4. 生成用户数据文件 db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取 chmod 600 /etc/vsftpd/virtusers.db 5. 修改/etc/pam.d/vsftpd文件 # 修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak # 将auth及account的所有配置行均注释掉 vi /etc/pam.d/vsftpd auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers # 如果系统为32位,上面改为lib 6. 新建系统用户vsftpd,用户目录为/home/vsftpd #用户登录终端设为/bin/false(即:使之不能登录系统) useradd vsftpd -d /home/vsftpd -s /bin/false chown -R vsftpd:vsftpd /home/vsftpd 7.建立虚拟用户个人配置文件 mkdir /etc/vsftpd/vconf cd /etc/vsftpd/vconf #这里建立两个虚拟用户配合文件 touch chris chang #建立用户根目录 mkdir -p /home/vsftpd/chris/ #编辑chris用户配置文件,内容如下,其他用户类似 vi chris local_root=/home/vsftpd/chris/ write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES 8. 防火墙设置 vi /etc/sysconfig/iptables #编辑iptables文件,添加如下内容,开启21端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT 9. 重启vsftpd服务器 service vsftpd restart 10. 使用xftp等软件连接测试

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

centos7 防火墙 配置

1.查看Firewall 服务状态 systemctl status firewalld 2.查看Firewall 的状态 firewall-cmd --state 注意: firewalld默认配置文件有两个:/usr/lib/firewalld/(系统配置,尽量不要修改)和/etc/firewalld/(用户配置地址) [root@localhost ~]# vi /usr/lib/firewalld/services/ssh.xml 先把ssh的端口改下 防止不能远程操作了 3、开启、重启、关闭、firewalld.service服务 #开启 systemctl start firewalld.service #重启 systemctl restart firewalld.service #关闭 systemctl stop firewalld.service 4、查看防火墙规则 firewall-cmd --list-all 5、查询、开放、关闭端口 #查询端口是否开放 firewall-cmd --query-port=8080/tcp #开放80端口 firewall-cmd --permanent --add-port=80/tcp #移除端口 firewall-cmd --permanent --remove-port=8080/tcp #重启防火墙(修改配置后要重启防火墙) firewall-cmd --reload #参数解释 1、firwall-cmd:是Linux提供的操作firewall的一个工具; 2、--permanent:表示设置为持久; 3、--add-port:标识添加的端口; 6.限制只允许指定的ip可以访问(也可以做内网之间不限制,外网不能访问) 1 [root@localhost / ] # firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.16.255.113/32" port protocol="tcp" port="3306" accept" 7.移除这条策略 1 [root@localhost / ] # firewall-cmd --permanent --remove-rich-rule 'rule family=ipv4 source address=172.16.255.113/32 port port=3306 protocol=tcp accept' 8.开机禁用或者启用firewall 1 systemctl disable /enable firewalld.service

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

centos7 配置本地yum源

环境限制外网怎么办?离线环境怎么解决依赖?yum源配起来,可以解决大部分包的安装^_^ 准备工作 虚拟机版本——VMware Workstation Pro 12.x 系统版本——CentOS-7-x86_64-DVD-1511.iso 系统安装完毕,正常登录 一、挂载镜像 1)操作之前请将以下虚拟机设置处请勾选,该选项是需要系统开机之后才能勾选。 2)挂载镜像 mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom 二、备份原yum源配置 mv /etc/yum.repos.d /etc/yum.repos.d.bak mkdir /etc/yum.repos.d 三、创建本地yum源配置文件 vi /etc/yum.repos.d/CentOS-local.repo [base-local]#这个是本源的名字,不能和其他的重复(随便,不重复) name=CentOS-local #名字(随便) baseurl=file:///mnt/cdrom #上方步骤一挂载镜像创建的目录 enabled=1 #yum源是否启用 1-启用 0-不启用 gpgcheck=1 #安全检测 1-开启 0-不开启 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 1 2 3 4 5 6 注意:以上是CentOS-local.repo文件配置内容,每一项对应的注释说明需删除(我写出来只是为了供读者看^_^),不删除会遇见以下错误(估计是 centos在这个文件中不支持注释吧。或者是注释的位置不对。) 四、更新yum源配置 yum clean all yum makecache 五、测试yum命令 注意:虚拟机第二次开机,需要重新挂载镜像和更新yum源配置 其它可选yum命令 yum install -y make cmake gcc gcc-c++ yum install -y automake autoconf libtool perl yum install -y unzip zip yum install -y vim*

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

centos7 RPM命令安装操作

RPM 安装操作 命令: rpm -i 需要安装的包文件名 举例如下: rpm -i example.rpm 安装 example.rpm 包; rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息; rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度; RPM 查询操作 命令: rpm -q … 附加查询命令: a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息; i 显示安装包的信息; l 显示安装包中的所有文件被安装到哪些目录下; s 显示安装版中的所有文件状态及被安装到哪些目录下;以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件; p 查询的是安装包的信息; f 查询的是已安装的某文件信息; 举例如下: rpm -qa | grep tomcat4 查看 tomcat4 是否被安装; rpm -qip example.rpm 查看 example.rpm 安装包的信息; rpm -qif /bin/df 查看/bin/df 文件所在安装包的信息; rpm -qlf /bin/df 查看/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下; RPM 卸载操作 命令: rpm -e 需要卸载的安装包 在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称。 举例如下: rpm -e tomcat4 卸载 tomcat4 软件包 RPM 升级操作 命令: rpm -U 需要升级的包 举例如下: rpm -Uvh example.rpm 升级 example.rpm 软件包 RPM 验证操作 命令: rpm -V 需要验证的包 举例如下: rpm -Vf /etc/tomcat4/tomcat4.conf 输出信息类似如下: S.5….T c /etc/tomcat4/tomcat4.conf 其中,S 表示文件大小修改过,T 表示文件日期修改过。限于篇幅,更多的验证信息请您参考rpm 帮助文件:man rpm RPM 的其他附加命令 –force 强制操作 如强制安装删除等; –requires 显示该包的依赖关系; –nodeps 忽略依赖关系并继续操作

资源下载

更多资源
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等操作系统。

用户登录
用户注册