Home | Mirror | Search |
目录
lokkit --disabled --selinux=disabled yum update -y rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt rpm -K http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm -i http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm yum install -y telnet wget rsync yum install -y system-config-network-tui yum install -y bind-utils yum install -y vim-enhanced yum install -y openssh-clients yum remove dhclient -y
配置DNS
echo -ne " search example.com nameserver 208.67.222.222 nameserver 202.67.220.220 nameserver 8.8.8.8 nameserver 4.4.4.4 " > /etc/resolv.conf
修改文件打开数
cat >> /etc/security/limits.conf <<EOF root soft nofile 65536 root hard nofile 65536 www soft nofile 65536 www hard nofile 65536 mysql soft nofile 65536 mysql hard nofile 65536 EOF
下面更省事,但不建议使用*通配符,这样任何用户都不限制。
echo -ne " * soft nofile 65536 * hard nofile 65536 " >> /etc/security/limits.conf
而上面我市针对www用户设置,也就是web服务器,其他用户是受限的。
内核参数调整
cat >> /etc/sysctl.conf <<EOF net.ipv4.ip_local_port_range = 1024 65500 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 60 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 4096 EOF
设置history格式,是他能够记录命令的输入时间
cat >> /etc/bashrc <<EOF export HISTTIMEFORMAT="%Y-%m-%d-%H:%M:%S " EOF
我一般分区规划是,/系统根分区,swap交换分区,/www数据分区,同时 禁止写入atime时间,因为/www频繁请求会影响IO
临时mount
mount -o remount,noatime,nodiratime /dev/sda3 /mnt/your
LABEL 方式
LABEL=/www /www ext3 defaults,noatime,nodiratime 1 1
UUID 方式
UUID=eeff3e86-7964-4a48-ac02-51ea167ea6b2 /www ext4 defaults,noatime,nodiratime 1 2
至此,Linux 的OS部分安装配置与优化完成。
ntp 服务同步服务器的时间,需要安装。
# redhat 5.6 cp /etc/ntp.conf.original /etc/ntp.conf yum install ntp -y
指定ntp服务器,如果你没有ntp server,下面步骤不用执行
cp /etc/ntp.conf /etc/ntp.conf.original vim /etc/ntp.conf <<VIM > /dev/null 2>&1 :22,24s/^/#/ :25,25s/^/\rserver 172.16.3.51\rserver 172.16.3.52\r/ :wq VIM
service ntpd start chkconfig ntpd on
用于服务器的状态监控
yum install net-snmp -y vi /etc/snmp/snmpd.conf <<VIM > /dev/null 2>&1 :62,62s/systemview/all/ :85,85s/^#// :wq VIM service snmpd start chkconfig snmpd on
服务器故障警告
yum install -y nrpe nagios-plugins vi /etc/nagios/nrpe.cfg <<VIM > /dev/null 2>&1 :%s/allowed_hosts=127.0.0.1/allowed_hosts=172.16.1.2/ :wq VIM cat >> /etc/nagios/nrpe.cfg <<EOF #command[check_http]=/usr/lib64/nagios/plugins/check_http -I 127.0.0.1 -p 80 -u http://www.example.com/index.html command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 20% -c 10% command[check_all_disks]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -e EOF chkconfig nrpe on service nrpe start
我使用rsync来实现应用的部署。
yum install xinetd rsync -y vim /etc/xinetd.d/rsync <<VIM > /dev/null 2>&1 :%s/yes/no/ :wq VIM cat > /etc/rsyncd.conf <<EOD uid = root gid = root use chroot = no max connections = 8 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log hosts deny=* hosts allow=192.168.2.0/255.255.255.0 [www] uid = www gid = www path = /www ignore errors read only = no list = no auth users = www secrets file = /etc/rsyncd.passwd EOD cat >> /etc/rsyncd.passwd <<EOF www:xxxxxxxxxxxxxxxx EOF chmod 600 /etc/rsyncd.* chmod 600 /etc/rsyncd.passwd service xinetd restart
根据你的需要,选装。
yum install -y vsftpd adduser --home-dir /www/target/logs/ --shell /sbin/nologin --password logs.xiu.com logs echo logs >> /etc/vsftpd/chroot_list vim /etc/vsftpd/vsftpd.conf <<VIM > /dev/null 2>&1 :%s/#chroot_list_enable=YES/chroot_list_enable=YES/ :%s/#chroot_list_file/chroot_list_file/ VIM chkconfig vsftpd on service vsftpd start
卸载旧的包,然后准备好rpm文件
rpm -e --nodeps mysql-libs yum localinstall MySQL-*
安装后查看如下
# rpm -qa | grep MySQL MySQL-client-5.5.28-1.el6.x86_64 MySQL-shared-5.5.28-1.el6.x86_64 MySQL-devel-5.5.28-1.el6.x86_64 MySQL-shared-compat-5.5.28-1.el6.x86_64 MySQL-server-5.5.28-1.el6.x86_64
由于redhat与centosYUM源中尚未提供php-fpm所以我采用编译安装,网上有一些爱好者制作过php-fpm的rpm包。是否使用你自己那注意。
安装fedora的YUM源,我们需要一些devel包。
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
安装编译器与开发包
yum install gcc gcc-c++ make automake autoconf -y yum install curl-devel libmcrypt-devel gd-devel libjpeg-devel libpng-devel libXpm-devel libxml2-devel libxslt-devel mhash-devel recode-devel openssl-devel -y
安装下面三个rpm包,编译php不需要server与client两个包
MySQL-shared-5.5.28-1.el6.x86_64 MySQL-devel-5.5.28-1.el6.x86_64 MySQL-shared-compat-5.5.28-1.el6.x86_64
将其放置在一个目录中,使用下面命令即可安装
yum localinstall MySQL-*
前面的准备工作就绪后,便可以进入到php的安装阶段
tar zxvf php-5.4.9.tar.gz cd php-5.4.9 ./configure --prefix=/srv/php-5.4.9 \ --with-config-file-path=/srv/php-5.4.9/etc \ --with-config-file-scan-dir=/srv/php-5.4.9/etc/conf.d \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --with-curl \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir \ --with-zlib-dir \ --with-iconv \ --with-mcrypt \ --with-mysql \ --with-mysqli=/usr/bin/mysql_config \ --with-pdo-mysql \ --with-mysql-sock=/var/lib/mysql/mysql.sock \ --with-openssl=shared \ --with-mhash=shared \ --with-xsl=shared \ --with-recode=shared \ --with-pear \ --enable-sockets \ --enable-soap \ --enable-mbstring \ --enable-gd-native-ttf \ --enable-zip \ --enable-xml \ --enable-bcmath \ --enable-calendar \ --enable-shmop \ --enable-dba \ --enable-wddx \ --disable-debug make && make install
备份配置文件,防止不小心改错而又找不出问题出在哪里。
mkdir -p /srv/php-5.4.9/etc/conf.d cp php.ini-* /srv/php-5.4.9/etc/ cp /srv/php-5.4.9/etc/php.ini-development /srv/php-5.4.9/etc/php.ini cp /srv/php-5.4.9/etc/pear.conf{,.original} ln -s /srv/php-5.4.9/ /srv/php
php默认提供两个配置文件模板php.ini-development用于开发和测试环境;php.ini-production用于生产环境。他们差异是php.ini-development会显示调试信息,即 error_display = On.
# ls php.ini-* php.ini-development php.ini-production
下面更改仅供参考,需要根据你的具体情况配置,不要照搬。
vim /srv/php-5.4.9/etc/php.ini <<EOF > /dev/null 2>&1 :%s#expose_php = On#expose_php = Off# :%s$;open_basedir = $open_basedir = /www/:/tmp/:/srv/php-5.4.9/lib/php/:/srv/php-5.4.9/bin/$ :%s/memory_limit = 128M/memory_limit = 16M/ :%s!;include_path = ".:/php/includes"!include_path = ".:/srv/php-5.4.9/lib/php:/srv/php-5.4.9/share"! :%s:extension_dir = "./":extension_dir = "/srv/php-5.4.9/lib/php/extensions": :%s/upload_max_filesize = 2M/upload_max_filesize = 8M/ :%s/;cgi.fix_pathinfo=0/cgi.fix_pathinfo=1/ :%s$;date.timezone =$date.timezone = Asia/Hong_Kong$ :1367,1367s/session.save_handler = files/session.save_handler = redis/ :1368,1368s#^#session.save_path = "tcp://127.0.0.1:6379"\r# :1415,1368s/session.name = PHPSESSID/session.name = JSESSIONID/ :wq EOF
安装启动脚本
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on chkconfig --list php-fpm
修改配置文件
cp /srv/php-5.4.9/etc/php-fpm.conf.default /srv/php-5.4.9/etc/php-fpm.conf vim /srv/php-5.4.9/etc/php-fpm.conf <<end > /dev/null 2>&1 :25,25s/;// :32,32s/;// :wq end
察看配置项
# grep -v '^;' /srv/php-5.4.9/etc/php-fpm.conf | grep -v '^$' [global] pid = run/php-fpm.pid [www] user = www group = www listen = 127.0.0.1:9000 pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3
Apc
pecl install apc cat > /srv/php-5.4.9/etc/conf.d/apc.ini <<EOF extension=apc.so EOF
查看安装情况
# /srv/php/bin/php -m | grep apc apc
安装git版本控制客户端
yum install git
从github仓库中克隆一份代码到本地
git clone git://github.com/nicolasff/phpredis.git
编译安装phpredis; 我暂时没有找到 pecl的phpredis源
cd phpredis phpize ./configure --with-php-config=/srv/php-5.4.9/bin/php-config make && make install
创建配置文件
cat > /srv/php-5.4.9/etc/conf.d/redis.ini <<EOF extension=redis.so EOF
查看安装情况
# php -m | grep redis redis
下面我们来模拟一个场景,例如 configure的时候出现下面提示
configure: error: Can not find recode.h anywhere under yes /usr/local /usr /opt.
提示找不到recode。h文件,很好办,首先搜索recode包
[root@haproxy php-5.4.9]# yum search recode | 327 B 00:00 ============================ N/S Matched: recode ==================================== php-recode.x86_64 : A module for PHP applications for using the recode library recode-devel.i686 : Header files and static libraries for development using recode recode-devel.x86_64 : Header files and static libraries for development using recode recode.i686 : Conversion between character sets and surfaces recode.x86_64 : Conversion between character sets and surfaces Name and summary matches only, use "search all" for everything.
然后安装devel包,记住之需要安装devel包即可,其他都是多余。
[root@haproxy php-5.4.9]# yum install recode-devel -y
然后重新运行configure
为web服务器创建一个用户,我喜欢使用www,id为80更容易记,同时将一个单独分区挂在/www上用户存放web应用程序。
groupadd -g 80 www adduser -o --home /www --uid 80 --gid 80 -c "Web Application" www
添加nginx的YUM源
cat > /etc/yum.repos.d/nginx.repo <<EOF [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/x86_64/ gpgcheck=0 enabled=1 EOF
开始安装nginx
yum search nginx yum install -y nginx chkconfig nginx on service nginx start
如果你不懂编译器优化,建议你使用rpm方案。在不优化的情况下编译出来程序很臃肿。
# rpm -qa | grep nginx nginx-1.2.5-1.el6.ngx.x86_64
mkdir -p /www/www.mydomain.com/htdocs cd /etc/nginx/conf.d cp default.conf www.mydomain.com.conf vim www.mydomain.com.conf
server { listen 80; server_name www.mydomain.com; charset utf-8; access_log /var/log/nginx/www.mydomain.com.access.log main; location / { root /www/www.mydomain.com/htdocs; index index.html index.php; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /www/www.mydomain.com/htdocs$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } }
创建测试页面
cat >> /www/www.mydomain.com/htdocs/index.php <<PHP <?php phpinfo(); PHP
启动服务器
service php-fpm start service nginx start
检查index.php输出
# curl -H HOST:www.mydomain.com http://127.0.0.1/index.php
相关推荐
Txt文件中包含 CentOS-6.3-i386-bin-DVD1.iso 和 CentOS-6.3-i386-bin-DVD2.iso 的官网下载地址 和百度网盘下载地址
CentOS-6.3-i386-bin-DVD1.iso 镜像文件 用于虚拟机系统安装。
CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0
在本教程中,我们将探讨如何使用CentOS 5.4操作系统,配合Nginx 0.8.50,uWSGI 0.9.6.2和Django 1.2.3来构建高性能的Web服务器。这个组合是基于Python的Web应用程序部署的常见选择,因为它能够提供高速度、稳定性和...
CentOS 团员已经发布了 CentOS 6 系列的第三个版本,CentOS 6.3 基于上游的红帽 RHEL 6.3。CentOS 是一个企业级的 Linux 发行版本,CentOS 是 RHEL(Red Hat Enterprise Linux)源代码再编译的产物的免费版,它继承...
`compat-libstdc++-33`是Red Hat Enterprise Linux (RHEL)及CentOS等基于RPM包管理系统的Linux发行版中的一个兼容库。这个库的主要功能是提供旧版的GNU C++标准库(libstdc++)接口,以便运行那些依赖较老版本C++库...
**CentOS 6.3 安装 Nginx 操作指南** 在 CentOS 6.3 上安装 Nginx 是一项常见的任务,Nginx 是一个高性能的 Web 和反向代理服务器,以其轻量级、高效的特性深受开发者和系统管理员的喜爱。本指南将详细解释如何在 ...
本教程将详细介绍如何在CentOS 6.3操作系统上快速搭建一个包含Resin 3.1.12应用服务器和Nginx 1.x反向代理服务器的发布环境。这种配置可以提高系统的稳定性和性能,同时提供负载均衡以及更好的安全防护。 首先,让...
RH linux5.4 64位 系统包compat-libstdc++-33-3.2.3-61.x86_64.rpm
compat-libstdc++-33-3.2.3-47.3.i386.rpm Centos7 安装oracle 所需软件包
libstdc++-devel-4.8.5-4.el7.x86-64.rpm
Linux 7 compat-libstdc++-33-3.2.3-72 安装包,安装介质缺少的rpm
centos源码安装nginx-1.20.2+nginx负载均衡
在本文中,我们将深入探讨如何在CentOS 6.3系统上使用Yum安装PHP、spawn-fcgi、Nginx以及MySQL数据库。首先,确保你的系统已经安装了最新的CentOS 6.3版本,并完成了最基本的网络配置。 1. **系统安装与网络配置** ...
linux vnc 缺少的文件 libstdc++-libc6.2-2.so.3 解压后, 需要将这个文件放在/usr/lib下, linux vnc-4_1_3-x86_linux 下的vnc才能正常工作哦, 不然一直会报错说找不到或者没有这个文件
本安装文件修改了源码网的“CentOS 集成linux+php-cgi+nginx+mysql安装包“里面的部分文件,主要是修改了install.sh内的几个错误位置。目前我测试在centos 5.4下,安装一切正常! 使用这个安装之前请一定看一下本...
Windows8上安装虚拟机VirtualBox,然后新建虚拟电脑,搭建CentOS6.5 + mysql + nginx + php + memcached平台环境,部署网站。文档中记录了部分FAQ。
`compat-libstdc++-33-3.2.3-61`是一个特定版本的兼容库,主要用于支持旧版的GNU C++标准库,它包含了两个不同架构的版本:`i386.rpm`适用于32位系统,而`x86_64.rpm`则适用于64位系统。 `libstdc++`是GNU项目的一...
CentOS6.5安装64位Oracle11G R2依赖包
本安装文件修改了源码网的“CentOS 集成linux+php-cgi+nginx+mysql安装包“里面的部分文件,主要是修改了install.sh内的几个错误位置。目前我测试在centos 5.4下,安装一切正常! 使用这个安装之前请一定看一下本...