CentOS 5.4安装笔记

2 篇文章 0 订阅
1,关于编码

编辑/etc/sysconfig/i18n

原始:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

LANG=”zh_CN.UTF-8″ 中文
LANG=”en_US.UTF-8″ 英文

中文乱码是由于语言包没有安装的问题
安装fonts即可解决

rpm -ivh /media/CentOS_5.4_Final/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm

rpm -ivh /media/CentOS_5.4_Final/CentOS/fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm


2,关闭ipv6
由于CentOS默认是开启ipv6模块的,我发现在CentOS里开启ipv6模块使DNS解析的时间增加了很多,特别是在yum时,还有多一样服务就会多一点不安全的因素,不需要是要永远禁用的(通用的安全法则:服务器对处提供的服务越少越安全)。网上最多说的禁用ipv6的方法如下:
1. #vim /etc/modprobe.conf,在其中加入如下两行:
alias net-pf-10 off
alias ipv6 off
2. #vim /etc/sysconfig/network文件,确认其中含有如下行:
NETWORKING_IPV6=no
3. 重启系统
#reboot
经过上面几步,理论上应该是关闭了ipv6,查看方法如下:
1. #ifconfig -a
如果出现sit0这一项,说明还是没有成功禁用ipv6
2. #lsmod | grep ipv6
如果出现:ipv6 xfrm_nalgo两行,说明没有成功禁用ipv6。
5.4及其以上版本的CentOS系统利用如上方法禁用ipv6是不对的,应该如下方法禁用ipv6:
可以修改下面两个文件以阻止IPv6内核模块的加载:
/etc/modprobe.conf – 内核模块配置文件
/etc/sysconfig/network – 网络配置文件
1. # vim /etc/modprobe.conf
在其中加入下面这一行,
install ipv6 /bin/true
保存并退出。
2. # vim /etc/sysconfig/network
在其中加入下面配置项:
NETWORKING_IPV6=no
IPV6INIT=no
保存并退出文件,重启网络与服务器:
# service network restart
# reboot
如果想检查当前IPv6是否已禁用,可以使用下列命令:
# lsmod | grep ipv6
# ifconfig -a
注:以上方法在CentOS5.5验证通过,同样适用于RHEL和Fedora。

3,ifconfig等命令在/sbin/下,无法运行时使用绝对路径+命令



安装nginx+PHP5.3.6+fastCGI

1, #yum update
运行完发现我的CentOS由5.4升为了5.6 ^o^

2, #yum -y install ntp vim-enhanced gcc gcc-c++ flex bison autoconf automake glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libtool* zlib-devel libxml2-devel libjpeg-devel libpng-devel libtiff-devel fontconfig-devel freetype-devel libXpm-devel gettext-devel curl curl-devel pam-devel e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers


3,需要的包
pcre-8.12.zip
nginx-1.0.0.tar.gz
libiconv-1.13.tar.gz
libmcrypt-2.5.8.tar.gz
mcrypt-2.6.8.tar.gz
mhash-0.9.9.9.tar.bz2
php-5.3.6.tar.bz2

从php5.3.3开始php-fpm就集成到php中了^o^



4,安装
#cd /usr/local/src
#unzip pcre-8.12.zip
#cd pcre-8.12
#./configure && make && make install

#tar zxvf nginx-1.0.0.tar.gz
#cd nginx--1.0.0
./configure \
     "--user=$用户" \
     "--group=$组" \
     "--prefix=/usr/local/nginx/" \
     "--with-http_stub_status_module" \
     "--with-http_ssl_module" \
     "--with-md5=/usr/lib" \
     "--with-sha1=/usr/lib"
make
make install


2.4.1.1 libiconv-1.13
#tar zxvf libiconv-1.13.tar.gz
#cd libiconv-1.13
#./configure --prefix=/usr && make && make install

2.4.1.2 libmcrypt-2.5.8
#tar zxvf libmcrypt-2.5.8.tar.gz
#cd libmcrypt-2.5.8/
#./configure --prefix=/usr && make && make install
#echo "/usr/lib" >> /etc/ld.so.conf
#ldconfig
#cd libltdl/
#./configure --enable-ltdl-install
#make && make install

2.4.1.3 mhash-0.9.9.9
#tar jxvf mhash-0.9.9.9.tar.bz2
#cd mhash-0.9.9.9
#./configure --prefix=/usr && make && make install
#ldconfig

2.4.1.4 mcrypt-2.6.8
#tar zxvf mcrypt-2.6.8.tar.gz
#cd mcrypt-2.6.8
#./configure --prefix=/usr && make&& make install


#安装CMake(MySQL 5.5不再使用configure配置, 改用CMake)
tar xzf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./bootstrap
make
make install
cd ..



#配置安装MySQL
tar xzf mysql-5.5.13.tar.gz
cd mysql-5.5.13
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data
make
make install
 
#进入MySQL安装目录,并安装默认数据库
cd /usr/local/mysql/
./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --skip-name-resolve
 
#复制配置文件
cp ./support_files/my-medium.cnf /etc/my.cnf
cp ./bin/mysql /usr/local/bin/mysql
 
#添加MySQL用户组并设定目录权限
groupadd mysql
useradd -g mysql -d /sbin/nologin mysql
chown -R mysql .
 
#启动MySQL服务器
./support_files/mysql.server start
 
#修改MySQL密码
/usr/local/mysql/bin/mysqladmin -u root -h 127.0.0.1 password '123456'
 
#配置MySQL开机启动
echo -e '# MySQL\n/usr/local/mysql/support-files/mysql.server start' >> /etc/rc.local



安装php

./configure  \
     "--prefix=/usr/local/php" \
     "--enable-fpm" \
     "--with-config-file-path=/usr/local/php/etc" \
     "--with-mysql=/usr/local/mysql" \
     "--with-mysqli=/usr/local/mysql/bin/mysql_config" \
     "--with-pdo-mysql=/usr/local/mysql" \
     "--with-iconv-dir" \
     "--with-freetype-dir" \
     "--with-jpeg-dir" \
     "--with-png-dir" \
     "--with-gd" \
     "--with-zlib" \
     "--with-libxml-dir" \
     "--with-curl" \
     "--with-curlwrappers" \
     "--with-openssl" \
     "--with-mhash" \
     "--with-xmlrpc" \
     "--with-mcrypt" \
     "--with-ldap" \
     "--with-ldap-sasl" \
     "--enable-xml" \
     "--disable-rpath" \
     "--enable-safe-mode" \
     "--enable-bcmath" \
     "--enable-shmop" \
     "--enable-sysvsem" \
     "--enable-inline-optimization" \
     "--enable-mbregex" \
     "--enable-mbstring" \
     "--enable-gd-native-ttf" \
     "--enable-ftp" \
     "--enable-pcntl" \
     "--enable-sockets" \
     "--enable-zip" \
     "--disable-debug" \
     "--disable-ipv6"

make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-production /usr/local/php/etc/php.ini

Notice: Following unknown configure options were used:

    –enable-fastcgi
    –enable-force-cgi-redirect
    –enable-discard-path

php 5.3.X 发现在默认状态下,已经开始支持 fastcgi了,不用再费劲再写配置参数了,如果写了,会提示如上错误信息


PHP扩展:
memcache:
http://pecl.php.net/package/memcache
http://pecl.php.net/get/memcache-2.2.6.tgz
tar zxvf memcache-2.2.6.tgz
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

结果:
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

APC:
$wget http://pecl.php.net/get/APC-3.1.6.tgz
$tar xvzf APC-3.1.6.tgz
$cd APC-3.1.6
$/usr/local/php/bin/phpize
$./configure --enable-apc --enable-apc-mmap --with-php-config=/usr/local/php/bin/php-config
$make
$make install
然后我们再编辑php.ini文件进行配置,请把下面的代码加入到php.ini中即可:
extension = apc.so
[APC]
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 128M
apc.optimization = 1
apc.num_files_hint = 0
apc.ttl = 0
apc.gc_ttl = 3600
apc.cache_by_default = on
这样重启apache就会在phpinfo()信息中显示。
安装包目录中有一个apc.php的文件。是一个小后台,进行统计监测。
注:APC不适合用于频繁写的场合


关键的部分是php-fpm和nginx的配置文件的配置。
优化以及很多操作都是在配置文件中完成的。
(fastcgi_param  SCRIPT_FILENAME  /srv/www/public_html$fastcgi_script_name;)



优化linux连接数
echo 'ulimit -HSn 65536' >> /etc/profile
echo 'ulimit -HSn 65536' >> /etc/rc.local
source /etc/profile


启动php-fpm
/usr/local/php/sbin/php-fpm

可以使用
/usr/local/php/sbin/php-fpm -t 进行配置文件测试
/usr/local/php/sbin/php-fpm -h 查看帮助

关闭php-fpm
cat /usr/local/php/var/run/php-fpm.pid 得到进程号
kill -QUIT 进程号

平滑重启
kill -HUP $pid



另一种方式:
php-fpm的启动:

cp -f (php -5.3.x-source-dir)/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start
/sbin/chkconfig --add php-fpm (添加到开机服务列表)
/sbin/chkconfig php-fpm on

php-fpm的启动、停止和重启:
/etc/init.d/php-fpm start
/etc/init.d/php-fpm stop
/etc/init.d/php-fpm reload

php5.3.6的版本中
这个php-fpm 不再支持 php-fpm 补丁具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:

SIGINT, SIGTERM 立刻终止
SIGQUIT 平滑终止
SIGUSR1 重新打开日志文件
SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块

示例:
php-fpm 关闭:
kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm 重启:
kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid`

其次配置文件不再使用的xml 格式,改为了INI,但是配置参数几乎和以前一样,可参照xml格式的格式配置。




启动nginx
/usr/local/nginx/sbin/nginx

同样可以使用-t -h参数

关闭
cat /usr/local/nginx/logs/nginx.pid
kill -QUIT $pid

平滑重启
kill -HUP $pid


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值