memcached安装及配置

一、memcached介绍

Memcached是国外社区网站LiveJournal团队开发的,高性能分布式内存缓存服务器,其目的是为了通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。

  • 数据结构简单(key-value),数据存放在内存里,不支持持久化
  • 多线程
  • 基于c/s架构,协议简单
  • 基于libevent的事件处理
  • 自主内存存储处理(slab allowcation)
  • 数据过期方式:Lazy Expiration 和 LRU

二、Memcached的数据流向

  1. web从DB上获取到查询结果
  2. 把结果存储到memcached中
  3. 再次用到该结果,从缓存中读取

三、Slab Allocation的原理

- 阅读剩余部分 -

MySQL调优参考

MySQL调优可以从几个方面来做:

架构层:

做从库,实现读写分离;

系统层次

  1. 增加内存;
  2. 给磁盘做raid0或者raid5以增加磁盘的读写速度;
  3. 可以重新挂载磁盘,并加上noatime参数,这样可以减少磁盘的i/o;

MySQL本身调优:

  1. 如果未配置主从同步,可以把bin-log功能关闭,减少磁盘i/o;
  2. 在my.cnf中加上skip-name-resolve,这样可以避免由于解析主机名延迟造成mysql执行慢;
  3. 调整几个关键的buffer和cache。调整的依据,主要根据数据库的状态来调试;

- 阅读剩余部分 -

MySQL安全措施

数据库作为数据管理的平台,它的安全性首先由系统内部和网络安全两部分来决定的。对于系统管理员来说,首先要保证系统本身的安全,在安装MySQL数据时,需要对基础环境进行较好的配置。

一、修改root用户口令

缺省安装的MySQL的root用户是空密码的,为了安全起见,必须修改为强密码,所谓的强密码,至少8位,由字母、数字和符号组成的不规律密码。使用MySQL自带的命令 mysqladmin修改root密码,同时也可以登陆数据库,修改数据库mysql下的user表的字段内:

mysql> update mysql.user set password=password('upassword') where user='root';
mysql> flush privileges;

二、删除默认数据库和数据库用户

一般情况下,MySQL 数据库安装在本地,并且也只需要本地的 php 脚本对 mysql 进行读取,所以很多用户不需要,尤其是默认安装的用户。

MySQL 初始化后会自动生成空用户和test库,进行安装的测试,这会对数据库的安全构成威胁,有必要全部删除,最后的状态只保留单个root即可,当然以后根据需要增加用户和数据库:

- 阅读剩余部分 -

killall nginx后无法再启动

某次killall nginx后,nginx服务无法再启动。

ps -ef |grep nginx
root     63703  2548  0 14:34 pts/0    00:00:00 grep --color=auto nginx

查看端口,80端口并无其他服务占用:

netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      3181/mysqld
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2097/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2437/master
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      62906/php-fpm: mast
tcp6       0      0 :::22                   :::*                    LISTEN      2097/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      2437/master

- 阅读剩余部分 -

lanmp一键安装脚本

一、要求

  • 系统:CentOS 7+
  • 用户:root

二、使用

1. 自定义安装路径

获取脚本

git clone https://github.com/a1711hw/lanmp.git
cd lanmp.sh

# 配置执行权限
chmod +x lanmp.sh

可以自行修改lanmp.conf配置文件,定义安装路径:

# lamp and lnmp directory configuration.

# mysql
mysql=/usr/local/mysql
mysql_data=/data/mysql

# apache
apache=/usr/local/apache24

# php version
php=/usr/local/php

# nginx
nginx=/usr/local/nginx

# php-fpm
php_fpm=/usr/local/php-fpm

# website directory
web_data=/data/www

- 阅读剩余部分 -

NFS配置

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

一、服务端配置

server端IP地址:

192.168.237.6

安装nfs服务

yum install -y nfs-utils

在之前的版本中,是需要安装portmap包的,从centos6开始就改为rpcbind包了,它会在yum安装nfs-utils的时候一并安装。

- 阅读剩余部分 -