首页 文章 精选 留言 我的

精选列表

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

CentOS 7.3搭建xl2tp服务器

1.下载xl2tpd.tar.gz源码包 ``` wget http://pkgs.fedoraproject.org/repo/pkgs/xl2tpd/xl2tpd-1.3.8.tar.gz/d244fdcd88f64601b64b7302870afca8/xl2tpd-1.3.8.tar.gz ``` ## 2.安装xl2tpd和libreswan ``` tar -zxvf xl2tpd-1.3.8.tar.gz cd xl2tpd-1.3.8 make && make install 如果make过程中出现"contrib/pfc.c:14:23: 致命错误:pcap-bpf.h:没有那个文件或目录"则安装libpcap yum -y install libpcap-devel ``` ## 3.配置xl2tpd.conf配置文件 `vim /etc/xl2tpd/xl2tpd.conf` 修改内容如下: ``` [global] [lns default] ip range = 172.100.1.100-172.100.1.150 local ip = 172.100.1.1 require chap = yes refuse pap = yes require authentication = yes name = LinuxVPNserver ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes ``` ## 4.配置pppd选项参数 `vim /etc/ppp/options.xl2tpd` 修改内容如下: ``` ipcp-accept-local ipcp-accept-remote ms-dns 8.8.8.8 ms-dns 209.244.0.3 ms-dns 208.67.222.222 name xl2tpd #noccp auth crtscts idle 1800 mtu 1410 #第一次配置不建议设置mtu,mru,否则可能789错误(贴配置时去掉注释信息) mru 1410 nodefaultroute debug lock proxyarp connect-delay 5000 refuse-pap refuse-chap refuse-mschap require-mschap-v2 persist logfile /var/log/xl2tpd.log ``` ## 5.设置l2tp拨号用户名密码 ``` vim /etc/ppp/chap-secrets` 修改内容: vpnuser * pass * 说明:用户名[空格]service[空格]密码[空格]指定IP ``` ## 6.启动xl2tpd ``` /sbin/chkconfig xl2tpd on systemctl enable xl2tpd systemctl restart xl2tpd ``` ## 7.使用win7客户端进行拨号 [Win7拨号报错] (https://shipengliang.com/software-exp/win7-l2tpipsec-%E8%AE%BF%E9%97%AE%E7%BD%91%E7%AB%99%E8%BF%9E%E6%8E%A5%E8%A2%AB%E9%87%8D%E7%BD%AE%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95.html)

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

解决Centos下“ssh免密码登录不生效”问题

摘要 一般为了方便运维管理都会配置ssh免密登录,ssh免密登录实现也很方便。今天遇到一个完成了配置了却不能生效的问题。 思考 遇到这个问题一般有以下几点: authorized_keys文件是否启用 .ssh 和 authorized_keys 文件权限问题 排查 检查AuthorizedKeysFile配置是否启用authorized_keys root@pts/1 $ cat /etc/ssh/sshd_config |egrep AuthorizedKeysFile AuthorizedKeysFile .ssh/authorized_keys 没有问题,继续检查.ssh (700) 和 authorized_keys(644) 权限 root@pts/1 $ getfacl /root/.ssh/ getfacl: Removing leading '/' from absolute path names # file: root/.ssh/ # owner: root # group: root user::rwx group::--- other::--- root@pts/1 $ getfacl /root/.ssh/authorized_keys getfacl: Removing leading '/' from absolute path names # file: root/.ssh/authorized_keys # owner: root # group: root user::rw- group::--- other::--- authorized_keys权限不对,修改一下chmod 644 authorized_keys 再次尝试结果发现还是不行。但是该设置的权限都设置了。既然.ssh目录和其下文件的权限都OK了,那就检查下其父目录的权限,也就是这里的/root的权限 root@pts/1 $ getfacl /root/ getfacl: Removing leading '/' from absolute path names # file: root/ # owner: ftpuser # group: ftpuser user::r-x group::r-x other::--- 发现这里/root的属主都发生了变化。为了不影响别的业务情况,保留这里的ftpuser权限,利用setfacl添加特殊ACL权限 root@pts/1 $ chown -R root:root /root/ root@pts/1 $ setfacl -m u:ftpuser:rwx /root/ root@pts/1 $ getfacl /root/ getfacl: Removing leading '/' from absolute path names # file: root/ # owner: root # group: root user::rwx user:ftpuser:rwx #effective:r-x group::r-x mask::r-x other::r-x 附加 权限问题 /root 775 /root/.ssh 700 /root/.ssh/authorized_keys 644 开启文件AuthorizedKeysFile .ssh/authorized_keys

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

CentOS下用iostat -x查看磁盘的IO信息

点评 :Linux系统出现了性能问题,一般我们可以通过top.iostat,vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据 Linux系统出现了性能问题,一般我们可以通过top.iostat,vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。 www.jb51.net iostat结果分析 [kefu@SZ-8 linux]$ iostat -x -k Linux 2.6.18-128.el5_cyou_1.0 (SZ-8.30) 09/08/2011 avg-cpu: %user %nice %system %iowait %steal %idle 16.58 0.00 2.79 0.46 0.00 80.16 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.06 29.28 0.22 37.14 10.21 265.68 14.77 0.02 0.51 0.15 0.55 sda1 0.00 0.00 0.00 0.00 0.00 0.00 10.79 0.00 2.66 2.43 0.00 sda2 0.01 0.78 0.10 0.36 0.81 4.58 23.51 0.00 1.21 0.84 0.04 sda3 0.03 15.17 0.09 35.39 8.98 202.24 11.91 0.01 0.26 0.12 0.44 sda4 0.00 0.00 0.00 0.00 0.00 0.00 2.00 0.00 33.33 33.33 0.00 sda5 0.01 1.59 0.03 0.51 0.34 8.40 32.20 0.00 1.19 0.58 0.03 sda6 0.00 0.00 0.00 0.12 0.00 0.48 8.18 0.00 5.02 4.53 0.05 sda7 0.00 0.00 0.00 0.00 0.00 0.00 45.00 0.00 5.52 3.04 0.00 sda8 0.00 0.00 0.00 0.00 0.00 0.00 40.88 0.00 7.62 6.03 0.00 sda9 0.00 0.00 0.00 0.00 0.00 0.00 39.71 0.00 7.37 5.83 0.00 sda10 0.00 0.00 0.00 0.00 0.00 0.00 37.57 0.00 5.70 3.54 0.00 sda11 0.00 11.74 0.01 0.76 0.08 49.97 131.48 0.01 10.74 0.57 0.04 sdb 0.01 3.91 20.24 20.21 1262.95 1853.94 154.09 0.52 12.84 1.97 7.95 rrqm/s:每秒进行merge的读操作数目。即delta(rmerge)/s wrqm/s:每秒进行merge的写操作数目。即delta(wmerge)/s r/s:每秒完成的读I/O设备次数。即delta(rio)/s w/s:每秒完成的写I/0设备次数。即delta(wio)/s rsec/s:每秒读扇区数。即delta(rsect)/s wsec/s:每秒写扇区数。即delta(wsect)/s rKB/s:每秒读K字节数。是rsec/s的一半,因为每扇区大小为512字节 wKB/s:每秒写K字节数。是wsec/s的一半 avgrq-sz:平均每次设备I/O操作的数据大小(扇区)。即delta(rsect+wsect)/delta(rio+wio) avgqu-sz:平均I/O队列长度。即delta(aveq)/s/1000(因为aveq的单位为毫秒) await:平均每次设备I/O操作的等待时间(毫秒)。即delta(ruse+wuse)/delta(rio+wio) svctm:平均每次设备I/O操作的服务时间(毫秒)。即delta(use)/delta(rio+wio) %util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的。即delta(usr)/s/1000(因为use的单位为毫秒) 如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负载,该磁盘可能存在瓶颈。 比较重要的参数 %util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的 svctm:平均每次设备I/O操作的服务时间 await:平均每次设备I/O操作的等待时间 avgqu-sz:平均I/O队列长度 如果%util接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈,一般%util大于70%,I/O压力就比较大,读取速度有较多的wait。 同时可以结合vmstat查看查看b参数(等待资源的进程数)和wa参数(I/O等待所占用的CPU时间的百分比,高过30%时I/O压力高)vmstat -d 5 await的大小一般取决于服务时间(svctm)以及I/O队列的长度和I/O请求的发出模式。如果svctm比较接近await,说明I/O几乎没有等待时间;如果 await远大于svctm,说明I/O队列太长,应用得到的响应时间变慢。 形象的比喻 r/s+w/s类似于交款人的总数 平均队列长度(avgqu-sz)类似于单位时间里平均排队的人数 平均服务时间(avctm)类似于收银员的收款速度 平均等待时间(await)类似于平均每人的等待时间 平均I/O数据(avgrq-sz)类似于平均每人所买的东西 I/O操作率(%util)类似于收款台前有人排队的时间比例 svctm一般要小于await(因为同时等待的请求的等待时间被重复计算了),svctm的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会 间接导致svctm的增加。await的大小一般取决于服务时间(svctm)以及I/O队列的长度和I/O请求的发出模式。如果svctm比较接近await,说明I/O几乎没有 等待时间;如果await远大于svctm,说明I/O队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调 整内核elevator算法,优化应用,或者升级CPU 队列长度(avcqu-sz)也可作为衡量系统I/O负荷的指标,但由于avcqu-sz是按照单位时间的平均值,所以不能反映瞬间的I/O洪水。

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

centos7上elastic search安装填坑记

下载elastic search 5.3.0 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.0.tar.gz mv elasticsearch-5.3.0.tar.gz /opt cd /opt tar -xzvf elasticsearch-5.3.0.tar.gz cd elasticsearch-5.3.0/ 启动ES cd /bin ./elasticsearch 按照道理应该就可以了,然而接下来各种坑一一出现,分别阐述 错误1:error='Cannot allocate memory' (errno=12) solutions:由于elasticsearch5.0默认分配jvm空间大小为2g,需要改小一点 vim config/jvm.options -Xms2g → -Xms512m -Xmx2g → -Xmx512m 错误2: can not run elasticsearch as root solutions:在 Linux 环境中,elasticsearch 不允许以 root 权限来运行!所以需要创建一个非root用户,以非root用户来起es groupadd elk # 创建用户组elk useradd elk -g elk -p 111111 # 创建新用户elk,-g elk 设置其用户组为 elk,-p 111 设置其密码6个1 chown -R elk:elk /opt # 更改 /opt 文件夹及内部文件的所属用户及组为 elk:elk su elk # 切换到非root用户elk下来 错误3:(1) max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] (2) max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 此错误出现在修改config/elasticsearch.yml中的network.host为network.host: 0.0.0.0以便让外网任何IP都能来访问时。 solutions:切换到root用户,然后 vim /etc/security/limits.conf * soft nofile 300000 * hard nofile 300000 * soft nproc 102400 * soft memlock unlimited * hard memlock unlimited 错误4:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] solutions:先要切换到root用户;然后可以执行以下命令,设置 vm.max_map_count ,但是重启后又会恢复为原值。 sysctl -w vm.max_map_count=262144 持久性的做法是在 /etc/sysctl.conf 文件中修改 vm.max_map_count 参数: echo "vm.max_map_count=262144" > /etc/sysctl.conf sysctl -p 最后终于在外网访问成功: 安装可视化插件 elasticsearch-head git clone git://github.com/mobz/elasticsearch-head.git cd elasticsearch-head npm install # 此处我试图用cnpm install有问题,用npm可以 npm run start 然后在外网访问http://你的安装机IP:9100 最后实际简单测试一下 新建 Index,可以直接向 Elastic 服务器发出 PUT 请求。下面的例子是新建一个名叫weather的 Index。 然而刷新elasticsearch-head可视化界面可以看到索引已经成功插入 后记 关于作者更多的elastic search实践在此

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

CentOS7 安装nginx1.11设置开机启动

1、安装GCC和GCC-C++ [java]view plain copy [root@iZwz91nfqrmmcjz3ax4vqvZjava]#cd/usr/java [java]view plain copy [root@iZwz91nfqrmmcjz3ax4vqvZjava]#yuminstallgcc [root@iZwz91nfqrmmcjz3ax4vqvZjava]#yuminstall-ygcc-c++ 2. 因为nginx需要依赖pcre库、zlib库、openssl库,所以需要下载这三个库以及nginx源码。 2.1 安装pcre库 [java]view plain copy <spanstyle="font-size:18px;">[root@iZwz91nfqrmmcjz3ax4vqvZjava]#wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz [root@iZwz91nfqrmmcjz3ax4vqvZjava]#tar-zxvfpcre-8.39.tar.gz</span> 2.2 安装zlib库 这是我先下载好的包 zlib-1.2.8.tar.gz 上传 [java]view plain copy <spanstyle="font-size:18px;">[root@iZwz91nfqrmmcjz3ax4vqvZjava]#tar-zxvfzlib-1.2.8.tar.gz [root@iZwz91nfqrmmcjz3ax4vqvZjava]#cdzlib-1.2.8/</span> 2.3 安装openssl库 [java]view plain copy <spanstyle="font-size:18px;">[root@iZwz91nfqrmmcjz3ax4vqvZjava]#wgethttp://www.openssl.org/source/openssl-1.0.1c.tar.gz [root@iZwz91nfqrmmcjz3ax4vqvZjava]#tar-zxvfopenssl-1.0.1c.tar.gz</span> 注:也可以一起安装 yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel 2.4 安装nginx 这是我先下载好的包 nginx-1.11.5.tar.gz 上传 [java]view plain copy <spanstyle="font-size:18px;">[root@iZwz91nfqrmmcjz3ax4vqvZjava]#tar-zxvfnginx-1.11.5.tar.gz</span> 使用命令编译nginx [java]view plain copy <spanstyle="font-size:18px;">[root@iZwz91nfqrmmcjz3ax4vqvZjava]#cdnginx-1.11.5 [root@iZwz91nfqrmmcjz3ax4vqvZnginx-1.11.5]#./configure--prefix=/usr/java/nginx--conf-path=/usr/java/nginx/conf/nginx.conf --pid-path=/usr/java/nginx/nginx.pid--with-http_ssl_module--with-pcre=/usr/java/pcre-8.39--with-zlib=/usr/java/zlib-1.2.8 --with-openssl=/usr/java/openssl-1.0.1c [root@iZwz91nfqrmmcjz3ax4vqvZnginx-1.11.5]#make [root@iZwz91nfqrmmcjz3ax4vqvZnginx-1.11.5]#makeinstall</span> configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本,执行结束时,它会创建一个Makefile文件。 3.启动nginx [java]view plain copy <spanstyle="font-size:18px;">[root@iZwz91nfqrmmcjz3ax4vqvZjava]#/usr/java/nginx/sbin/nginx</span> 停止 [plain]view plain copy [root@iZwz91nfqrmmcjz3ax4vqvZjava]#/usr/java/nginx/sbin/nginx-sstop 重启 [plain]view plain copy [root@iZwz91nfqrmmcjz3ax4vqvZjava]#/usr/java/nginx/sbin/nginx-sreload 4. 设置防火墙 [plain]view plain copy [root@iZwz91nfqrmmcjz3ax4vqvZjava]#firewall-cmd--zone=public--add-port=80/tcp--permanent; [root@iZwz91nfqrmmcjz3ax4vqvZjava]#firewall-cmd--reload; 5.测试 120.77.213.193 出现下面界面说明成功! 6. 设置nginx开机启动 在 /etc/init.d/ 目录下创建nginx文件 其中nginxd ,nginx_config, nginx_pid 的值根据具体目录配置,文件内容如下: [plain]view plain copy <spanstyle="font-size:14px;">#!/bin/bash #nginxStartupscriptfortheNginxHTTPServer #itisv.0.0.2version. #chkconfig:-8515 #description:Nginxisahigh-performancewebandproxyserver. #Ithasalotoffeatures,butit'snotforeveryone. #processname:nginx #pidfile:/var/run/nginx.pid #config:/usr/java/nginx/conf/nginx.conf nginxd=/usr/java/nginx/sbin/nginx nginx_config=/usr/java/nginx/conf/nginx.conf nginx_pid=/usr/java/nginx/logs/nginx.pid RETVAL=0 prog="nginx" #Sourcefunctionlibrary. ./etc/rc.d/init.d/functions #Sourcenetworkingconfiguration. ./etc/sysconfig/network #Checkthatnetworkingisup. [${NETWORKING}="no"]&&exit0 [-x$nginxd]||exit0 #Startnginxdaemonsfunctions. start(){ if[-e$nginx_pid];then echo"nginxalreadyrunning...." exit1 fi echo-n$"Starting$prog:" daemon$nginxd-c${nginx_config} RETVAL=$? echo [$RETVAL=0]&&touch/var/lock/subsys/nginx return$RETVAL } #Stopnginxdaemonsfunctions. stop(){ echo-n$"Stopping$prog:" killproc$nginxd RETVAL=$? echo [$RETVAL=0]&&rm-f/var/lock/subsys/nginx/usr/java/nginx/logs/nginx.pid } #reloadnginxservicefunctions. reload(){ echo-n$"Reloading$prog:" #kill-HUP`cat${nginx_pid}` killproc$nginxd-HUP RETVAL=$? echo } #Seehowwewerecalled. case"$1"in start) start ;; stop) stop ;; reload) reload ;; restart) stop start ;; status) status$prog RETVAL=$? ;; *) echo$"Usage:$prog{start|stop|restart|reload|status|help}" exit1 esac exit$RETVAL</span> 设置文件的访问权限: chmod a+x /etc/init.d/nginx (a+x参数表示 ==> all user can execute 所有用户可执行) chkconfig nginx on 最后将ngix加入到rc.local文件中,这样开机的时候nginx就默认启动了 vim /etc/rc.local 添加 /etc/init.d/nginx start :wq! 重启生效

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

CentOS下挂载iso文件和配置yum本地源

Linux的版本: [root@pbn ~]# head -n 1 /etc/issue Red Hat Enterprise Linux Server release 6.1 (Santiago) 1.由于服务器不能直连外网,我使用的是ISO镜像文件当作yum的本地库进行安装,首先要将镜像文件挂载到Linux服务器上。 使用的ISO镜像文件: [红帽企业.Linux.6].TLF-SOFT-Redhat.Enterprise.Linux.v6.UPDATE.1.DVD-HOTiSO.iso (1) iso文件的位置(改名后): [plain] view plain copy [root@pbn~]#ls/mnt/RedHat.Enterprise.Linux.6.iso /mnt/RedHat.Enterprise.Linux.6.iso (2) 创建虚拟光驱的目录,用于挂载iso文件: [plain] view plain copy touch/mnt/vcdrom (3) 挂载 [plain] view plain copy mount-ploop-tiso9660/mnt/RedHat.Enterprise.Linux.6.iso/mnt/vcdrom 此处 -t 用于指定文件类型,也可以不指定,Linux自动判断 (4)将镜像文件拷下所有文件拷贝出来,当作yum的仓库位置。 [html] view plain copy cp/mnt/RedHat.Enterprise.Linux.6.iso/var/yum 这样就将ISO中的文件全部拷贝出来,放到/var/yum下了。 2. 建立本地的yum源并指定仓库位置。yum的默认仓库配置目录是 /etc/yum.repos.d ,此目录下的以 .repo 结尾的文件都是yum的仓库地址。 (1) 创建本地仓库配置文件, 以 .repo 结尾 [html] view plain copy touchlocalPackages.repo (2) 编辑文件内容: [plain] view plain copy [local] name=InstructorServerRepository baseurl=file:///var/yum/Server enabled=1 gpgcheck=0 [....] 代表这个库的名字,必须是唯一的,不可以重复。并且不能有空格。 name= 是这个库的说明,没有太大的实际意义,只是一个字段说明。 baseurl= 说明采取什么方式传输,具体路径在哪里,可以使用的方式有,file://,ftp://,http://等,关于baseurl中的变量,可以查看yum.conf 的手册:man yum.conf ,在手册的最后一段有详细描述。 enabled=1 说明启用这个更新库,0表示不启用。 gpgcheck=1 表示使用gpg文件来检查软件包的签名 (3) 清除yum缓存: [plain] view plain copy yumcleanall [plain] view plain copy yumlistall 即可查看yum当前安装包的情况和可用的安装包 测试安装screen: [plain] view plain copy yuminstallscreen 配置完成后可以取消ISO的挂载 [plain] view plain copy umount/mnt/vcdrom refer:Linux下挂载iso镜像 rpm与yum(本地yum源的安装)

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

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

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

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

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

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

用户登录
用户注册