#通过yum安装gcc 、gcc-c++、libevent、libevent-devel、openssl、openssl-devel、libjpeg-devel libpng-devel freetype-devel curl-devel
yum -y install gcc gcc-c++ libjpeg-devel libpng-devel cmake libevent libevent-devel
yum -y install freetype-devel libxml2-devel zlib-devel glibc-devel glib2-devel bison autoconf
yum -y install bzip2-devel ncurses-devel curl-devel e2fsprogs-devel krb5-devel
yum -y install libidn-devel openssl-devel openld openldap-devel openldap-clients openldap-servers
#检查是否安装过rpm包
rpm -qa | grep httpd
#查看进程运行情况
ps -le | grep mysql
#查看所有默认系统服务
ls /etc/rc.d/init.d
#停止服务
service httpd stop
#卸载系统已安装的rpm包
yum remove httpd
#停用SELinux
vi /etc/sysconfig/selinux SELINUX=disabled
setenforce 0
#停用iptables
iptables -F
#解压所有tar包的shell
cd /lamp
ls *.tar.gz > ls.list
for TAR in `cat ls.list`
do
tar -zxf $TAR
done
#标准源代码包安装的步骤
1、.tar.gz tar -zxf //解压解包
2、./configure //配置 --prefix=/usr/local/libxml2/
3、make //编译
4、make install > 日志文件 //安装、拷贝
#标准源代码包卸载
rm -rf 安装目录 与 源代码目录
#安装libxml2 (可忽略)
#安装zlib-1.2.3 (不指定安装位置) (可忽略)
#安装libpng-1.2.31 (可忽略)
#安装jpeg-6b (jpegsrc.v6b) (可忽略)
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
#安装freetype-2.3.5 (可忽略)
#安装autoconf-2.61(不指定安装位置) (可忽略)
#安装gd-2.0.35(可忽略)
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
yum install apr-util-devel apr apr-devel apr-util
#安装apache
./configure --prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd --with-include-apr --with-pcre --enable-maintainer-mode --enable-dav --enable-modes-shared=most --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
make
make install
#把apache加载到系统服务中,并让其开机启动
cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
#修改httpd在文件头部加入如下内容:
vi /etc/rc.d/init.d/httpd
###
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 90 90
# description:http server
###
chkconfig --add httpd chkconfig --del httpd
chkconfig --list httpd
chkconfig --levels 245 httpd off
chkconfig --list httpd
#httpd.conf设置ServerName为本机name
/usr/local/apache2/bin/htpasswd -c /opt/svndata/repos/conf/passwd user1
/usr/local/apache2/bin/htpasswd /opt/svndata/repos/conf/passwd user2
<Location /svn>
DAV svn
SVNParentPath /opt/svndata
AuthType Basic
AuthName "Subversion"
AuthUserFile /opt/svndata/repos/conf/passwd
AuthzSVNAccessFile /opt/svndata/repos/conf/authz
Require valid-user
</Location>
#安装libmcrypt-2.5.8
tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt/
make && make install
#安装libmcrypt下的libltdl
cd libltdl
./configure --enable-ltdl-install
make && make install
#安装ncurses-5.6 (可忽略)
./configure --with-shared --without-debug --without-ada --enable-overwrite
#安装mysql
groupadd mysql
grep mysql /etc/group
useradd -g mysql mysql
#安装老版本mysql
./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all
#安装完成后拷贝配置文件
cp support-files/my-medium.cnf /etc/my.cnf
#创建数据库授权表
/usr/local/mysql/bin/mysql_install_db --user=mysql
#改变mysql所属用户
chown -R mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
ps -le | grep mysqld
netstat -an | grep 3306
/usr/local/mysql/bin/mysqladmin version//查看mysql版本
/usr/local/mysql/bin/mysqladmin variables //查看mysql运行参数
#为mysql设置密码
/usr/local/mysql/bin/mysql -u root
SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123');
exit
#让mysql开机启动
方法1:echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
方法2:cp /lamp/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
chown root.root /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
chkconfig --levels 245 mysqld off
chkconfig --list mysqld
#安装Mysql5.5版本
groupadd mysql
grep mysql /etc/group
useradd -g mysql mysql
tar -zxvf mysql-5.5.28.tar.gz
cd mysql-5.5.28
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定mysql安装目录
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \ //指定服务器默认字符集,默认latin1
-DDEFAULT_COLLATION=utf8_general_ci \ //指定服务器默认的校对规则,默认latin1_general_ci
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql // 数据文件目录
[root@ceshi6 mysql-5.5.27]# make && make install
[root@ceshi6 mysql-5.5.27]# chmod +w /usr/local/mysql/
[root@ceshi6 mysql-5.5.27]# chown -R mysql:mysql /usr/local/mysql/
[root@ceshi6 mysql-5.5.27]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so18
[root@ceshi6 mysql-5.5.27]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so18
[root@ceshi6 mysql-5.5.27]# mkdir -p /data/mysql/data/
[root@ceshi6 mysql-5.5.27]# mkdir -p /data/mysql/log/
[root@ceshi6 mysql-5.5.27]# chown -R mysql:mysql /data/mysql/
[root@ceshi6 mysql-5.5.27]# cd support-files
mysql配置文件
[root@ceshi6 support-files]# cp my-large.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@ceshi6 support-files]# cp mysql.server /etc/init.d/mysqld
cp:是否覆盖"/etc/init.d/mysqld"? y
初始化mysql
[root@ceshi6 support-files]# /usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/etc/my.cnf \
--basedir=/usr/local/mysql/ \
--datadir=/data/mysql/data/ \
--user=mysql
[root@ceshi6 support-files]# vi /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql/data
[root@ceshi6 support-files]# chmod +x /etc/init.d/mysqld
[root@ceshi6 support-files]# chkconfig mysqld on
service mysqld start
[root@ceshi6 mysql-5.5.27]# /usr/local/mysql/bin/mysql -u root -p
#允许mysql远程登录:
grant all on *.* to root@'%' IDENTIFIED BY '123' with grant option;
#修改root本地登录密码
update mysql.user set password=password("123") where user="root" and host="localhost";
#设置mysql字符集
vi /etc/my.cnf
[client]
default-character-set = utf8
[mysqld]
character_set_server = utf8
#修改默认表引擎
[mysqld] 后面增加default-storage-engine=INNODB
#安装libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure
make && make install
#增加库文件识别
vi /etc/ld.so.conf
追加/usr/local/lib
ldconfig
#安装php5.2.6
cp -frp /usr/lib64/libjpeg.* /usr/lib/
cp -frp /usr/lib64/libpng* /usr/lib/
去除openssl 与 mysqli
安装 mhash-0.9.9.9.tar
#安装php5.3.8
tar -zxvf php-5.3.8.tar.gz
./configure --prefix=/usr/local/php/ --with-iconv-dir=/usr/local --with-curl --with-config-file-path=/usr/local/php/etc/ --with-mysql=/usr/local/mysql --enable-sockets --with-openssl --with-mhash --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6 --with-freetype-dir=/usr/local/freetype/ --with-gd --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --without-pear --with-zlib
./configure --prefix=/usr/local/php/ --with-iconv-dir=/usr/local --with-curl --with-config-file-path=/usr/local/php/etc/ --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --enable-ftp --enable-sockets --with-openssl --with-mhash --with-libxml-dir=/usr --with-jpeg-dir --with-freetype-dir --with-gd --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --with-zlib --without-pear --enable-fpm
./configure --prefix=/usr/local/php/ --with-apxs2=/usr/local/apache2/bin/apxs --with-iconv-dir=/usr/local --with-curl --with-config-file-path=/usr/local/php/etc/ --with-mysql=/usr/local/mysql --enable-sockets --with-openssl --with-mhash --with-libxml-dir=/usr --with-jpeg-dir --with-freetype-dir --with-gd --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --with-zlib --enable-mbstring=all --enable-zip --without-pear
--with-apxs2=/usr/local/apache2/bin/apxs
-�Cwith-iconv=/usr/local/libiconv
make ZEND_EXTRA_LIBS='-liconv'
make install
#安装成功后
cp php.ini-production /usr/local/php/etc/php.ini
#php语法错误不报错解决方案
1,php.ini里的error_reporting = E_ALL & ~E_NOTICE并且把前面的注释去掉;
2,php.ini里把display_error改为On
#安装nginx必须库文件pcre
tar zxvf pcre-8.32.tar.gz
cd pcre-8.32/
./configure
make && make install
#安装Nginx
useradd nginx
tar zxvf nginx-1.2.6.tar.gz
cd nginx-1.2.6
./configure --prefix=/usr/local/nginx --with-pcre --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx --with-http_flv_module --with-http_gzip_static_module
/configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--http-scgi-temp-path=/var/tmp/nginx/scgi \
--with-pcre
make && make install
#如果运行nginx命令出错的时候
从错误看出是缺少lib文件导致,进一步查看下
ldd $(which /usr/local/nginx/sbin/nginx)
可以看出 libpcre.so.1 => not found 并没有找到,进入/lib64目录中手动链接下ln -s libpcre.so.0.0.1 libpcre.so.1
#修改Nginx配置文件让其支持php解析
#解注并修改以下项
vi /usr/local/nginx/conf/nginx.conf
user nobody;
worker_processes 8;
error_log logs/error.log;
pid /usr/local/nginx/nginx.pid;
解注21,22,23行
events {
worker_connections 65535;
}
location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include fastcgi_params;
}
#实现URL重写
location / {
root /web/domain1;
index index.html index.htm;
if (!-e $request_filename) {
rewrite "^/([\w]+).html$" /$1.php last;
}
}
#配置虚拟主机
include /usr/local/nginx/conf/vhosts/www.domain1.com.conf;(在80行左右添加)
#www.domain1.com.conf文件
server {
listen 80;
server_name www.domain1.com;
access_log logs/domain1.access.log main;
location / {
root /web/domain1;
index index.html index.htm;
if (!-e $request_filename) {
rewrite "^/([\w]+).html$" /$1.php last;
}
}
location ~ \.php$ {
root /web/domain1;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /web/domain1$fastcgi_script_name;
include fastcgi_params;
}
}
#允许查看nginx状态
location /NginxStatus {
stub_status on;
access_log off;
allow 192.168.0.0/24;
deny all;
}
#检查配置文件是否有错
/usr/local/nginx/sbin/nginx -t
#配置php-fpm
php5.3.8默认包含php-fpm
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
php-fpm在/usr/local/php/sbin/下
#/usr/local/php/sbin/php-fpm ========启动php-fpm
#编辑php-fpm配置文件
vi php-fpm.conf
找到pm.min_spare_servers 去除;号,注意非注释内容pm.min_spare_servers
找到pm.max_spare_servers 去除;号,同样非注释内容pm.max_spare_servers
找到pm.start_servers 去除;号,同样非注释内容pm.start_servers
ERROR: bind() for address '127.0.0.1:9000' failed: Address already in use (98)
netstat -an | grep 9000查看进程,已开启
killall php-fpm 结束所有php-fpm进程
再启动php-fpm
#/usr/local/php/sbin/php-fpm
成功
#修改php.ini文件后重启的步骤
pkill php-fpm
/usr/local/php/sbin/php-fpm
pkill -HUP nginx //平滑重启
#安装mamcache的php扩展
[root@Linux ~]#tar -zxvf memcache-2.2.7.tgz
编译安装:
[root@Linux ~]#cd memcache-2.2.7
[root@Linux ~]#/usr/local/php/bin/phpize
[root@Linux ~]#./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
[root@Linux ~]#make && make install
#在php.ini文件中添加memcache扩展
[root@Linux ~]#vi /usr/local/php/etc/php.ini
添加以下内容
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension=memcache.so
#安装memcache服务器端
tar zxvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --prefix=/usr/local/memcache --with-libevent
make && make install
#启动memcache
cd /usr/local/memcache/bin/
./memcached -d -m 1024 -u root -l 192.168.1.10 -p 11211 -c 128 -P /usr/local/memcache/memcached.pid
#查看memcache
ps -ef | grep memcached
#停止memcache进程
pkill memcached
#把Session交给Memcache管理保存
vi php.ini
#1450行左右
[Session]
; Handler used to store/retrieve data.
session.save_handler = memcache
session.save_path = tcp://192.168.1.161:11211
---------------------------
//附录
#添加用户级环境变量
vi ~/.bash_profile
#添加系统级环境变量
vi /etc/profile
PATH=$PATH:/usr/local/nginx/sbin
source .bash_profile
echo $PATH
#在Apache配置文件中支持php
vi /etc/httpd/httpd.conf
Addtype application/x-httpd-php .php .phtml
/usr/lcoal/apache2/bin/apachectl restart
#利用ssh登录到局域网其他服务器
ssh -l root ip
#修改iptables
/etc/sysconfig/iptables
#修改网卡
/etc/sysconfig/network-scripts/ifcfg-eth0
#修改DNS地址
vi /etc/resolv.conf
#修改主机名与网关
vi /etc/sysconfig/network
#禁止使用ipv6:
/etc/modprobe.conf �C 内核模块配置文件
vi /etc/modprobe.d/disable-ipv6.conf (CentOS6版本后)
/etc/sysconfig/network �C 网络配置文件
1. # vim /etc/modprobe.conf
在其中加入下面这一行,
install ipv6 /bin/true
保存并退出。
2. # vim /etc/sysconfig/network
在其中加入下面配置项:
NETWORKING_IPV6=no
IPV6INIT=no
保存并退出文件,重启网络与服务器:
# service network restart
# rmmod ipv6
# reboot
如果想检查当前IPv6是否已禁用,可以使用下列命令:
# lsmod | grep ipv6
# ifconfig -a
#查看目录所占磁盘大小
du -sh
#umount 报 device is busy 的处理方法
fuser -km /datatmp
#停掉SELinux
setenforce 0
getenforce
vi /etc/selinux/config
SELINUX=enfoceing
把其修改为:
SELINUX=disabled
#网卡漂移
vi /etc/udev/rules.d/70-persistent-net.rules
#生成大文件
dd if=/dev/zero of=file1 bs=1M count=1000
#数据同步
rsync -ae ssh 目录名/ 192.168.10.2:/usr/local/xx