cctv5下载安装ipip:123.56.77.130怎么安装

头条好声音 唱出大明星
(C) 2016 今日头条 违法和不良信息举报:010-公司名称:北京字节跳动科技有限公司IP/Dom?ne lookup
by TrackAnywhere
IP-Adresse<font color=#.21.0.0 - 172.21.255.255( - )
Ergebnis (IP)Intranet (Private network) 【Reservierte Adressen】 &
Achtung: Aufgrund der grossen Menge an Daten, k?nnen unsere IP-Datenbank nicht sofort auf die neuesten Informationen zu aktualisieren. Weitere Informationen entnehmen Sie bitte der .
■ Dieser Bereich umfasst die folgenden IP-Adressen:AR-2048SDN_2348DN操作向导_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
AR-2048SDN_2348DN操作向导
上传于||文档简介
&&夏&#8203;普&#8203;复&#8203;印&#8203;机&#8203;A&#8203;R&#8203;-&#03;0&#03;8&#8203;S&#8203;/&#03;0&#03;8&#8203;D&#8203;/&#03;0&#03;8&#8203;N&#8203;/&#03;3&#03;8&#8203;D&#8203;/&#03;3&#03;8&#8203;N&#8203;操&#8203;作&#8203;向&#8203;导&#8203;,&#8203;使&#8203;用&#8203;手&#8203;册&#8203;,&#8203;说&#8203;明&#8203;书&#8203;,&#8203;随&#8203;机&#8203;光&#8203;盘&#8203;文&#8203;件&#8203;,&#8203;版&#8203;权&#8203;归&#8203;S&#8203;H&#8203;A&#8203;R&#8203;P&#8203;集&#8203;团
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩136页未读,继续阅读
你可能喜欢酷勤网 C 程序员的那点事!
当前位置: >
浏览次数:次
现在很多朋友都了解或者已经在使用LNMP架构,一般可以理解为Linux Shell为CentOS/RadHat/Fedora/Debian/Ubuntu/等平台安装LNMP(Nginx/MySQL/PHP),LNMPA(Nginx/MySQL/PHP/Apache),LAMP(Apache/MySQL/PHP)等类似的开发或生产环境。我自己是从SuSE/Oracle商业化环境走出来的,对于开源的部署方案也是在一点一点摸索,我相信其中也必然包含某些坑爹的配置。这篇文章较为详细的描述了基于LTMP架构的部署过程,之后会再考虑独立各个模块分享细节和技巧,如果大家有更合适的配置实践手册欢迎一起分享,文章中的错误和改进点也请帮忙指点下哈。
LTMP(CentOS/Tengine/MySQL/PHP)
阅读原文 -
CentOS_6.5_64
Tengine-2.1.0
MySQL_5.6.25
PHP_5.5.27
Apache_2.2.31(酱油)
如果允许公网访问会方便很多
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
#优化History历史记录vi /etc/bashrc#设置保存历史命令的文件大小export HISTFILESIZE=#保存历史命令条数export HISTSIZE=1000000#实时记录历史命令,默认只有在用户退出之后才会统一记录,很容易造成多个用户间的相互覆盖。export PROMPT_COMMAND=&history -a&#记录每条历史命令的执行时间export HISTTIMEFORMAT=&%Y-%m-%d_%H:%M:%S &#设置时区(可选)rm -rf /etc/localtimeln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#禁用NetworkManager(可选)/etc/init.d/NetworkManager stopchkconfig NetworkManager off/etc/init.d/network restart#关闭iptables(可选) /etc/init.d/iptables stopchkconfig iptables off#设置dns(可选)echo &nameserver 114.114.114.114& & /etc/resolv.conf #关闭maildrop#cd /var/spool/postfix/ls | xargs rm - sed 's/MAILTO=root/MAILTO=&&/g' /etc/crontabservice crond restart#关闭selinuxsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#文件打开数量,echo ulimit -SHn 65535 && /etc/profilesource /etc/profile#修改最大进程和最大文件打开数限制vi /etc/security/limits.conf* soft nproc 11000* hard nproc 11000* soft nofile 655350* hard nofile 655350sed -i -e '/# End of file/i* soft
nofile 65535n* hard nofile 65535'
/etc/security/limits.conf#优化TCPvi /etc/sysctl.confnet.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
#开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax =
kernel.shmall =
#timewait的数量,默认是180000net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem =
net.ipv4.tcp_wmem =
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max =
net.core.wmem_max =
#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目net.core.netdev_max_backlog = 262144
#web应用中listen函数的backlog默认会给我们内核参数的net.core.somaxconn限制到128,而nginx定义的NGX_LISTEN_BACKLOG默认为511,所以有必要调整这个值net.core.somaxconn = 262144
#系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,孤儿连接将即刻被复位并打印出警告信息。这个限制仅仅是为了防止简单的DoS攻击,不能过分依靠它或者人为地减小这个值,更应该增加这个值(如果增加了内存之后)
net.ipv4.tcp_max_orphans = 3276800
#记录的那些尚未收到客户端确认信息的连接请求的最大值。对于有128M内存的系统而言,缺省值是1024,小内存的系统则是128net.ipv4.tcp_max_syn_backlog = 262144
#时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种&异常&的数据包。这里需要将其关掉net.ipv4.tcp_timestamps = 0
#为了打开对端的连接,内核需要发送一个SYN并附带一个回应前面一个SYN的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK包的数量net.ipv4.tcp_synack_retries = 1
#在内核放弃建立连接之前发送SYN包的数量net.ipv4.tcp_syn_retries = 1
#启用timewait快速回收
net.ipv4.tcp_tw_recycle = 1
#开启重用,允许将TIME-WAIT sockets重新用于新的TCP连接net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 000000
#如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60 秒。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB服务器,也有因为大量的死套接字而内存溢出的风险,FIN- WAIT-2的危险性比FIN-WAIT-1要小,因为它最多只能吃掉1.5K内存,但是它们的生存期长些。net.ipv4.tcp_fin_timeout = 1
#当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时。net.ipv4.tcp_keepalive_time = 30
#允许系统打开的端口范围net.ipv4.ip_local_port_range =
#表示文件句柄的最大数量fs.file-max = 102400#云主机上的优化# Kernel sysctl configuration file for Red Hat Linux## For binary values, 0 is disabled, 1 is enabled.
See sysctl(8) and# sysctl.conf(5) for more details.# Controls IP packet forwardingnet.ipv4.ip_forward = 0# Controls source route verificationnet.ipv4.conf.default.rp_filter = 1# Do not accept source routingnet.ipv4.conf.default.accept_source_route = 0# Controls the System Request debugging functionality of the kernel# Controls whether core dumps will append the PID to the core filename.# Useful for debugging multi-threaded applications.kernel.core_uses_pid = 1# Controls the use of TCP syncookiesnet.ipv4.tcp_syncookies = 1# Disable netfilter on bridges.net.bridge.bridge-nf-call-ip6tables = 0net.bridge.bridge-nf-call-iptables = 0net.bridge.bridge-nf-call-arptables = 0# Controls the default maxmimum size of a mesage queuekernel.msgmnb = 65536# Controls the maximum size of a message, in byteskernel.msgmax = 65536# Controls the maximum shared segment size, in byteskernel.shmmax = # Controls the maximum number of shared memory segments, in pageskernel.shmall = net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.all.secure_redirects = 0net.ipv4.conf.default.secure_redirects = 0net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.default.accept_redirects = 0net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.all.secure_redirects = 0net.ipv4.conf.default.secure_redirects = 0net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.default.accept_redirects = 0net.netfilter.nf_conntrack_max = 1000000kernel.unknown_nmi_panic = 0kernel.sysrq = 0fs.file-max = 1000000vm.swappiness = 10fs.inotify.max_user_watches = net.core.wmem_max = 327679net.core.rmem_max = 327679net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.all.secure_redirects = 0net.ipv4.conf.default.secure_redirects = 0net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.default.accept_redirects = 0/sbin/sysctl -p#自动选择最快的yum源yum -y install yum-fastestmirror#移除系统自带的rpm包的http mysql php#yum remove httpd* php*yum remove httpd mysql mysql-server php php-cli php-common php-devel php-gd
-y#升级基础库yum install -y wget gcc gcc-c++ openssl* curl curl-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel gd gd2 gd-devel gd2-devel libaio autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel #yum安装基础必备环境包,可以先将yum源更换为阿里云的源阿里:/ 搜狐:/ 网易:/#备份原先的yum源信息mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup#从阿里云镜像站下载centos6的repowget -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-6.repo#最后yum重新生成缓存yum makecache#yum安装软件包(可选)yum -y install tar zip unzip openssl* gd gd-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers make libmcrypt libmcrypt-devel fontconfig fontconfig-devel libXpm* libtool* libxml2 libxml2-devel t1lib t1lib-devel#定义目录结构,下载安装包mkdir -p /app/{local,data}cd /app/local#PCRE - Perl Compatible Regular Expressionswget &ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz&#Tenginewget &http://tengine.taobao.org/download/tengine-2.1.0.tar.gz&#MySQLwget &/archives/mysql-5.6/mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz&#PHPwget &http://cn2.php.net/distributions/php-5.6.11.tar.gz&#Mhashwget &http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz&#libmcryptwget &http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz&#Mcryptwget &http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz&
配置Tengine
tar zxvf pcre-8.37.tar.gzcd pcre-8.37./configuremake && make installcd ../
安装Tengine
123456789101112131415
#添加www用户和组groupadd wwwuseradd -g www www#安装Tenginetar zxvf tengine-2.1.0.tar.gzcd tengine-2.1.0./configure --user=www --group=www --prefix=/app/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/app/local/pcre-8.37make && make installcd ../
Nginx配置文件的优化很重要,理解每一步的意义
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
#修改nginx.confvi /app/local/nginx/conf/nginx.conf#用户和用户组#工作进程,一般可以按CPU核数设定worker_worker_cpu_#全局错误日志级别# [ debug | info | notice | warn | error | crit ]error_log
logs/error.#PID文件位置pid
logs/nginx.#更改worker进程的最大打开文件数限制,避免&too many open files&worker_rlimit_nofile 65535;#events事件指令是设定Nginx的工作模式及连接数上限events{
#epoll是Linux首选的高效工作模式
#告诉nginx收到一个新连接通知后接受尽可能多的连接
#用于定义Nginx每个进程的最大连接数
worker_connections
65536;}#HTTP模块控制着nginx http处理的所有核心特性http {
#设置文件使用的默认的MIME-type
default_type
application/octet-
#对日志格式的设定,main为日志格式别名
log_format
'$remote_addr - $remote_user [$time_local] &$request& '
'$status $body_bytes_sent &$http_referer& '
'&$http_user_agent& &$http_x_forwarded_for&';
#设置nginx是否将存储访问日志。关闭这个选项可以让读取磁盘IO操作更快
# access_log logs/access.log main buffer=16k;
#开启gzip压缩,实时压缩输出数据流
#设置IE6或者更低版本禁用gzip功能
gzip_disable &MSIE [1-6].&;
#前端的缓存服务器缓存经过gzip压缩的页面
#允许压缩基于请求和响应的响应流
#设置数据的压缩等级
gzip_comp_level 4;
#设置对数据启用压缩的最少字节数
gzip_min_length 1k;
#表示申请16个单位为64K的内存作为压缩结果流缓存
gzip_buffers 16 64k;
#用于设置识别HTTP协议版本
gzip_http_version 1.1;
#用来指定压缩的类型
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/
#打开缓存的同时也指定了缓存最大数目,以及缓存的时间
open_file_cache max=200000 inactive=20s;
#在open_file_cache中指定检测正确信息的间隔时间
open_file_cache_valid 30s;
#定义了open_file_cache中指令参数不活动时间期间里最小的文件数
open_file_cache_min_uses 2;
#指定了当搜索一个文件时是否缓存错误信息,也包括再次给配置中添加文件
open_file_cache_
#设置允许客户端请求的最大的单个文件字节数
client_max_body_size 30M;
#设置客户端请求主体读取超时时间
client_body_timeout 10;
#设置客户端请求头读取超时时间
client_header_timeout 10;
#指定来自客户端请求头的headerbuffer大小
client_header_buffer_size 32k;
#设置客户端连接保持活动的超时时间
keepalive_timeout 60;
#关闭不响应的客户端连接
reset_timedout_
#设置响应客户端的超时时间
send_timeout 10;
#开启高效文件传输模式
#告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送
#告诉nginx不要缓存数据,而是一段一段的发送
#设置用于保存各种key(比如当前连接数)的共享内存的参数
limit_conn_zone $binary_remote_addr zone=addr:5m;
#给定的key设置最大连接数,允许每一个IP地址最多同时打开有100个连接
limit_conn addr 100;
#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度
fastcgi_buffers 256 16k;
fastcgi_buffer_size 128k;
fastcgi_connect_timeout 3s;
fastcgi_send_timeout 120s;
fastcgi_read_timeout 120s;
server_names_hash_bucket_size 128;
#不在error_log中记录不存在的错误
#关闭在错误页面中的nginx版本数字,提高安全性
#server_tag A
#添加虚拟主机的配置文件
include vhosts/*.
#负载均衡配置(暂时略过)
#设定虚拟主机配置
#侦听80端口
#定义使用localhost访问
#定义首页索引文件的名称
index index.html index.htm index.
#定义服务器的默认网站根目录位置
/app/data/localhost/;
#定义错误提示页面
error_page
error_page
500 502 503 504
location = /50x.html {
#PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
location ~ .*.(php|php5)?$ {
fastcgi_pass
127.0.0.1:9000;
fastcgi_index
location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$
#过期30天,频繁更新可设置小一点
location ~ .*.(js|css)?$
#过期1小时,不更新可设置大一些
location ~ /. {
简化配置文件
vi /app/local/nginx/conf/nginx.conf
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
worker_worker_cpu_error_log
logs/error.pid
logs/nginx.worker_rlimit_nofile 51200;events{
worker_connections 51200;}http{
default_type
application/octet-
log_format
'$remote_addr - $remote_user [$time_local] &$request& '
'$status $body_bytes_sent &$http_referer& '
'&$http_user_agent& &$http_x_forwarded_for&';
#access_log logs/access.log main buffer=16k;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50M;
keepalive_timeout 60;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
#gzip_min_length
#gzip_buffers
#gzip_http_version 1.1;
#gzip_comp_level 5;
#gzip_types
text/plain application/x-javascript text/css application/
include vhosts/*.}
分离server写入vhosts
mkdir -p /app/local/nginx/conf/vhosts/
vi /app/local/nginx/conf/vhosts/localhost.conf
12345678910111213141516171819202122232425262728293031323334353637383940
index index.php index.html index.
access_log
logs/localhost.
/app/data/localhost/;
location / {
index.php index.html index.
#error_page
#error_page
500 502 503 504
location = /50x.html {
location ~ .*.(php|php5)?$ {
fastcgi_pass
127.0.0.1:9000;
fastcgi_index
#fastcgi_param
SCRIPT_FILENAME $document_root$fastcgi_script_
location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$
location ~ .*.(js|css)?$
location ~ /. {
123456789101112131415161718192021222324
#检查语法/app/local/nginx/sbin/nginx -t# ./nginx -tthe configuration file /app/local/nginx/conf/nginx.conf syntax is okconfiguration file /app/local/nginx/conf/nginx.conf test is successful#测试用例mkdir -p /app/data/localhostchmod +w /app/data/localhostecho &&?php phpinfo();?&& & /app/data/localhost/phpinfo.phpchown -R www:www /app/data/localhost#设置nginx系统变量echo 'export PATH=$PATH:/app/local/nginx/sbin'&&/etc/profile && source /etc/profile#测试访问curl -I http://localhostHTTP/1.1 200 OKServer: Tengine/2.1.0Date: Mon, 27 Jul :25 GMTContent-Type: text/ charset=UTF-8Connection: keep-aliveX-Powered-By: PHP/5.6.11
添加Tengine到服务
配置服务后便于统一管理
vi /etc/rc.d/init.d/nginx
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
#!/bin/sh # Source function library.. /etc/rc.d/init.d/functions # Source networking configuration.. /etc/sysconfig/network # Check that networking is up.[ &$NETWORKING& = &no& ] && exit 0 nginx=&/app/local/nginx/sbin/nginx&prog=$(basename $nginx) NGINX_CONF_FILE=&/app/local/nginx/conf/nginx.conf& [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs() {
# make required directories
user=`$nginx -V 2&&1 | grep &configure arguments:& | sed 's/[^*]*--user=([^ ]*).*/1/g' -`
if [ -z &`grep $user /etc/passwd`& ]; then
useradd -M -s /bin/nologin $user
options=`$nginx -V 2&&1 | grep 'configure arguments:'`
for opt in $ do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d &=& -f 2`
if [ ! -d &$value& ]; then
# echo &creating& $value
mkdir -p $value && chown -R $user $value
done} start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $&Starting $prog: &
daemon $nginx -c $NGINX_CONF_FILE
[ $retval -eq 0 ] && touch $lockfile
return $retval} stop() {
echo -n $&Stopping $prog: &
killproc $prog -QUIT
[ $retval -eq 0 ] && rm -f $lockfile
return $retval} restart() {
configtest || return $?
start} reload() {
configtest || return $?
echo -n $&Reloading $prog: &
killproc $nginx -HUP
echo} force_reload() {
restart} configtest() {
$nginx -t -c $NGINX_CONF_FILE} rh_status() {
status $prog} rh_status_q() {
rh_status &/dev/null 2&&1} case &$1& in
rh_status_q && exit 0
rh_status_q || exit 0
restart|configtest)
rh_status_q || exit 7
force-reload)
force_reload;
rh_status;
condrestart|try-restart)
rh_status_q || exit 0;
echo $&Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}&
exit 2esac
#修改执行权限chmod +x /etc/init.d/nginxulimit -SHn 65535service nginx start
注意目录和字符集等配置文件
123456789101112131415
#解压mysqlmkdir -p /app/local/mysqltar zxvf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gzmv mysql-5.6.25-linux-glibc2.5-x86_64/* /app/local/mysql#增加mysql用户组groupadd mysqluseradd -g mysql mysqlmkdir -p /app/data/mysql/data/mkdir -p /app/data/mysql/binlog/mkdir -p /app/data/mysql/relaylog/chown -R mysql:mysql /app/data/mysql/ #安装mysql/app/local/mysql/scripts/mysql_install_db --basedir=/app/local/mysql --datadir=/app/data/mysql/data --user=mysql#修改mysqld_safe配置路径sed -i &s#/usr/local/mysql#/app/local/mysql#g& /app/local/mysql/bin/mysqld_safe
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
#修改my.cnf配置文件vi /app/local/f[client]character-set-server = utf8port = 3306socket = /tmp/mysql.sock[mysql]#prompt=&(u:HOSTNAME:)[d]& &prompt=&u@h R:m:s [d]& &no-auto-rehash[mysqld]server-id = 1port = 3306user = mysqlbasedir = /app/local/mysqldatadir = /app/data/mysql/datasocket = /tmp/mysql.socklog-error = /app/data/mysql/mysql_error.logpid-file = /app/data/mysql/mysql.pidsql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESdefault-storage-engine = InnoDBmax_connections = 512max_connect_errors = 100000table_open_cache = 512external-locking = FALSEmax_allowed_packet = 32Mslow_query_log = 1slow_query_log_file = /app/data/mysql/slow.logopen_files_limit = 10240back_log = 600join_buffer_size = 2Mread_rnd_buffer_size = 16Msort_buffer_size = 2Mthread_cache_size = 300query_cache_size = 128Mquery_cache_limit = 2Mquery_cache_min_res_unit = 2kthread_stack = 192Ktransaction_isolation = READ-COMMITTEDtmp_table_size = 246Mmax_heap_table_size = 246Mlong_query_time = 3log-slave-updateslog-bin = /app/data/mysql/binlog/binlogsync_binlog = 1binlog_cache_size = 4Mbinlog_format = MIXEDmax_binlog_cache_size = 8Mmax_binlog_size = 1Grelay-log-index = /app/data/mysql/relaylog/relaylogrelay-log-info-file = /app/data/mysql/relaylog/relaylogrelay-log = /app/data/mysql/relaylog/relaylogexpire_logs_days = 7key_buffer_size = 128Mread_buffer_size = 1Mread_rnd_buffer_size = 16Mbulk_insert_buffer_size = 64Mmyisam_sort_buffer_size = 128Mmyisam_max_sort_file_size = 10Gmyisam_repair_threads = 1myisam_recoverinnodb_additional_mem_pool_size = 16Minnodb_buffer_pool_size = 256Minnodb_data_file_path = ibdata1:1024M:autoextendinnodb_flush_log_at_trx_commit = 1innodb_log_buffer_size = 16Minnodb_log_file_size = 256Minnodb_log_files_in_group = 2innodb_max_dirty_pages_pct = 50innodb_file_per_table = 1innodb_locks_unsafe_for_binlog = 0interactive_timeout = 120wait_timeout = 120 skip-name-resolveslave-skip-errors = 6,48,1396[mysqldump]quickmax_allowed_packet = 32M
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
#添加mysql到服务vi /etc/rc.d/init.d/mysqld#!/bin/shbasedir=/app/local/mysqldatadir=/app/data/mysql/dataservice_startup_timeout=900lockdir='/var/lock/subsys'lock_file_path=&$lockdir/mysql&mysqld_pid_file_path=/app/data/mysql/mysql.pidif test -z &$basedir&then
basedir=/usr/local/mysql
bindir=/usr/local/mysql/bin
if test -z &$datadir&
datadir=/usr/local/mysql/data
sbindir=/usr/local/mysql/bin
libexecdir=/usr/local/mysql/binelse
bindir=&$basedir/bin&
if test -z &$datadir&
datadir=&$basedir/data&
sbindir=&$basedir/sbin&
libexecdir=&$basedir/libexec&fidatadir_set=lsb_functions=&/lib/lsb/init-functions&if test -f $lsb_ then
. $lsb_functionselse
log_success_msg()
echo & SUCCESS! $@&
log_failure_msg()
echo & ERROR! $@&
}fi PATH=&/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin&export PATH mode=$1
# start or stop [ $# -ge 1 ] && shift
other_args=&$*&
# uncommon, but needed when called from an RPM upgrade action
# Expected: &--skip-networking --skip-grant-tables&
# They are not checked here, intentionally, as it is the resposibility
# of the &spec& file author to give correct arguments only. case `echo &testingc&`,`echo -n testing` in
*c*,-n*) echo_n=
echo_n=-n echo_c=;
echo_c='c' ;;esac parse_server_arguments() {
for arg do
case &$arg& in
--basedir=*)
basedir=`echo &$arg& | sed -e 's/^[^=]*=//'`
bindir=&$basedir/bin&
if test -z &$datadir_set&; then
datadir=&$basedir/data&
sbindir=&$basedir/sbin&
libexecdir=&$basedir/libexec&;
--datadir=*)
datadir=`echo &$arg& | sed -e 's/^[^=]*=//'`
datadir_set=1;
--pid-file=*) mysqld_pid_file_path=`echo &$arg& | sed -e 's/^[^=]*=//'` ;;
--service-startup-timeout=*) service_startup_timeout=`echo &$arg& | sed -e 's/^[^=]*=//'` ;;
done} wait_for_pid () {
# created | removed
# process ID of the program operating on the pid-file
pid_file_path=&$3& # path to the PID file.
avoid_race_condition=&by checking again&
while test $i -ne $service_startup_ do
case &$verb& in
'created')
# wait for a PID-file to pop into existence.
test -s &$pid_file_path& && i='' && break;
'removed')
# wait for this PID-file to disappear
test ! -s &$pid_file_path& && i='' && break;
echo &wait_for_pid () usage: wait_for_pid created|removed pid pid_file_path&
# if server isn't running, then pid-file will never be updated
if test -n &$pid&; then
if kill -0 &$pid& 2&/dev/ then
# the server still runs
# The server may have exited between the last pid-file check and now.
if test -n &$avoid_race_condition&; then
avoid_race_condition=&&
# Check again.
# there's nothing that will affect the file.
log_failure_msg &The server quit without updating PID file ($pid_file_path).&
# not waiting any more.
echo $echo_n &.$echo_c&
i=`expr $i + 1`
if test -z &$i& ; then
log_success_msg
log_failure_msg
fi} # Get arguments from f file,# the only group, which is read from now on is [mysqld]if test -x ./bin/my_print_defaultsthen
print_defaults=&./bin/my_print_defaults&elif test -x $bindir/my_print_defaultsthen
print_defaults=&$bindir/my_print_defaults&elif test -x $bindir/mysql_print_defaultsthen
print_defaults=&$bindir/mysql_print_defaults&else
# Try to find basedir in /f
print_defaults=
if test -r $conf
subpat='^[^=]*basedir[^=]*=(.*)$'
dirs=`sed -e &/$subpat/!d& -e 's//1/' $conf`
for d in $dirs
d=`echo $d | sed -e 's/[
if test -x &$d/bin/my_print_defaults&
print_defaults=&$d/bin/my_print_defaults&
if test -x &$d/bin/mysql_print_defaults&
print_defaults=&$d/bin/mysql_print_defaults&
# Hope it's in the PATH ... but I doubt it
test -z &$print_defaults& && print_defaults=&my_print_defaults&fi ## Read defaults file from 'basedir'.
If there is no defaults file there# check if it's in the old (depricated) place (datadir) and read it from there# extra_args=&&if test -r &$f&then
extra_args=&-e $f&else
if test -r &$f&
extra_args=&-e $f&
fifi parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server` ## Set pid file if not given#if test -z &$mysqld_pid_file_path&then
mysqld_pid_file_path=$datadir/`hostname`.pidelse
case &$mysqld_pid_file_path& in
mysqld_pid_file_path=&$datadir/$mysqld_pid_file_path& ;;
esacfi case &$mode& in
# Start daemon
# Safeguard (relative paths, core dumps..)
cd $basedir
echo $echo_n &Starting MySQL&
if test -x $bindir/mysqld_safe
# Give extra arguments to mysqld with f file. This script
# may be overwritten at next upgrade.
$bindir/mysqld_safe --datadir=&$datadir& --pid-file=&$mysqld_pid_file_path& $other_args &/dev/null 2&&1 &
wait_for_pid created &$!& &$mysqld_pid_file_path&; return_value=$?
# Make lock for RedHat / SuSE
if test -w &$lockdir&
touch &$lock_file_path&
exit $return_value
log_failure_msg &Couldn't find MySQL server ($bindir/mysqld_safe)&
# Stop daemon. We use a signal here to avoid having to know the
# root password.
if test -s &$mysqld_pid_file_path&
mysqld_pid=`cat &$mysqld_pid_file_path&`
if (kill -0 $mysqld_pid 2&/dev/null)
echo $echo_n &Shutting down MySQL&
kill $mysqld_pid
# mysqld should remove the pid file when it exits, so wait for it.
wait_for_pid removed &$mysqld_pid& &$mysqld_pid_file_path&; return_value=$?
log_failure_msg &MySQL server process #$mysqld_pid is not running!&
rm &$mysqld_pid_file_path&
# Delete lock for RedHat / SuSE
if test -f &$lock_file_path&
rm -f &$lock_file_path&
exit $return_value
log_failure_msg &MySQL server PID file could not be found!&
'restart')
# Stop the service and regardless of whether it was
# running or not, start it again.
if $0 stop
$other_ then
$0 start $other_args
log_failure_msg &Failed to stop running server, so refusing to try to start.&
'reload'|'force-reload')
if test -s &$mysqld_pid_file_path& ; then
read mysqld_pid &
&$mysqld_pid_file_path&
kill -HUP $mysqld_pid && log_success_msg &Reloading service MySQL&
touch &$mysqld_pid_file_path&
log_failure_msg &MySQL PID file could not be found!&
# First, check to see if pid file exists
if test -s &$mysqld_pid_file_path& ; then
read mysqld_pid & &$mysqld_pid_file_path&
if kill -0 $mysqld_pid 2&/dev/ then
log_success_msg &MySQL running ($mysqld_pid)&
log_failure_msg &MySQL is not running, but PID file exists&
# Try to find appropriate mysqld process
mysqld_pid=`pidof $libexecdir/mysqld`
# test if multiple pids exist
pid_count=`echo $mysqld_pid | wc -w`
if test $pid_count -gt 1 ; then
log_failure_msg &Multiple MySQL running but PID file could not be found ($mysqld_pid)&
elif test -z $mysqld_ then
if test -f &$lock_file_path& ; then
log_failure_msg &MySQL is not running, but lock file ($lock_file_path) exists&
log_failure_msg &MySQL is not running&
log_failure_msg &MySQL is running but PID file could not be found&
basename=`basename &$0&`
echo &Usage: $basename
{start|stop|restart|reload|force-reload|status}
[ MySQL server options ]&
exit 1;esac exit 0
123456789101112
#修改权限chmod +x /etc/init.d/mysqldservice mysqld start#增加MySQL系统环境变量echo 'export PATH=$PATH:/app/local/mysql/bin'&&/etc/profile && source /etc/profile#查看错误日志tail -f /var/log/mysqld.log #用root账户登录并作简单的安全设置/app/local/mysql/bin/mysql -uroot -p
12345678910111213141516171819202122
#修改root密码UPDATE mysql.user SET Password=password('root') WHERE User='root';#删除无名用户DELETE FROM mysql.user WHERE User='';#删除root远程访问DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');#删除&test&数据库DROP#允许远程访问/app/local/mysql/bin/mysql -uroot -prootupdate user set host='%' where user='root' AND host='localhost';FLUSH PRIVILEGES;select host,#立即生效并退出MYSQL命令窗体FLUSH PRIVILEGES;QUIT;
安装Apache
12345678910111213141516171819202122
cd /app/localtar zxvf httpd-2.2.29.tar.gzcd httpd-2.2.29./configure --prefix=/app/local/apache --enable-so --enable-rewrite --enable-modes-shared=mostmake && make install vi /app/local/apache/conf/httpd.conf#修改主机名ServerName localhost:80#查找AddType application/x-gzip .gz .tgz,在该行下面添加AddType application/x-httpd-php .php#查找DirectoryIndex index.html 把该行修改成DirectoryIndex index.html index.htm index.php/app/local/apache/bin/apachectl -tcp /app/local/apache/bin/apachectl /etc/init.d/httpd
PHP基础环境
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
#yum安装或者使用下面源包编译安装yum install libmcrypt libmcrypt-devel mcrypt mhash#下载地址http://sourceforge.net/projects/mcrypt/files/Libmcrypt/http://sourceforge.net/projects/mcrypt/files/MCrypt/http://sourceforge.net/projects/mhash/files/mhash/#安装Libmcrypttar -zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8./configuremake && make installcd ../3.安装mhashtar -zxvf mhash-0.9.9.9.tar.gzcd mhash-0.9.9.9./configuremake && make installcd ../4.安装mcrypttar -zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8LD_LIBRARY_PATH=/usr/local/lib ./configuremake && make installcd ../### 安装PHP&extension根据需要定制,新增的OPcache建议暂时不要开启``` bashtar zxvf php-5.5.27.tar.gzcd php-5.5.27./configure --prefix=/app/local/php --with-config-file-path=/app/local/php/etc --enable-fpm --enable-mbstring --with-mhash --with-mcrypt --with-curl --with-openssl --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-apxs2=/app/local/apache/bin/apxs #--enable-opcachemake && make install#配置php.inicp php.ini-development /app/local/php/etc/php.ini#设置时区sed -i &s#;date.timezone =#date.timezone = Asia/Shanghai#g& /app/local/php/etc/php.ini#防止nginx文件类型错误解析漏洞sed -i &s#;cgi.fix_pathinfo=1#cgi.fix_pathinfo=0#g& /app/local/php/etc/php.ini#禁止显示php版本的信息sed -i &s#expose_php = On#expose_php = Off#g& /app/local/php/etc/php.ini#禁用危险函数(可选)#sed -i &s#disable_functions =#disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source#g& /app/local/php/etc/php.ini#enable-opcache后设置(可选)[OPcache]zend_extension = opcache.soopcache.enable=1opcache.memory_consumption = 64opcache.interned_strings_buffer = 8opcache.max_accelerated_files = 4000opcache.revalidate_freq = 60opcache.fast_shutdown = 1opcache.enable_cli = 1
配置php-fpm
1234567891011121314151617181920212223242526272829303132333435363738
#编辑php-fpmcp /app/local/php/etc/php-fpm.conf.default /app/local/php/etc/php-fpm.confvi /app/local/php/etc/php-fpm.conf[global];错误日志error_log = log/php-fpm.log;错误日志级别log_level = notice[www];php-fpm监听端口listen = 127.0.0.1:9000;启动进程的帐户和组user = wwwgroup = www;如果选择static,则由pm.max_children指定固定的子进程数。如果选择dynamic,则由后面3个参数动态决定pm = dynamic;子进程最大数pm.max_children = 384;启动时的进程数pm.start_servers = 20;保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程pm.min_spare_servers = 5;保证空闲进程数最大值,如果空闲进程大于此值,此进行清理pm.max_spare_servers = 35;设置每个子进程重生之前服务的请求数。对于可能存在内存泄漏的第三方模块来说是非常有用的。如果设置为 '0' 则一直接受请求。等同于 PHP_FCGI_MAX_REQUESTS 环境变量。默认值: 0。pm.max_requests = 1000;每个子进程闲置多长时间就自杀pm.process_idle_timeout = 10s;设置单个请求的超时中止时间。该选项可能会对php.ini设置中的'max_execution_time'因为某些特殊原因没有中止运行的脚本有用。设置为 '0' 表示 'Off'.当经常出现502错误时可以尝试更改此选项。request_terminate_timeout = 120;当一个请求该设置的超时时间后,就会将对应的PHP调用堆栈信息完整写入到慢日志中。设置为 '0' 表示 'Off'request_slowlog_timeout = 3s;慢请求的记录日志,配合request_slowlog_timeout使用slowlog = /app/local/php/var/log/php-fpm.slow.log;设置文件打开描述符的rlimit限制。默认值: 系统定义值默认可打开句柄是1024,可使用 ulimit -n查看,ulimit -n 2048修改。rlimit_files = 65535
1234567891011121314151617
#设置php环境变量echo 'export PATH=$PATH:/app/local/php/bin'&&/etc/profile && source /etc/profiletouch /app/local/php/var/log/php-fpm.slow.log#添加php-fpm服务cp /app/local/php-5.5.27/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpmchmod +x /etc/rc.d/init.d/php-fpmservice php-fpm start#设置开机自动启动服务vi /etc/rc.localulimit -SHn 65535service php-fpm startservice nginx startservice mysqld start
配置memcache/mongo/redis
其它extension扩展都可以动态添加,没事的
12345678910111213141516171819202122232425262728293031323334353637383940
#memcachecd /app/localtar zxvf memcache-3.0.8.tgzcd memcache-3.0.8/app/local/php/bin/phpize./configure --enable-memcache --with-php-config=/app/local/php/bin/php-config --with-zlib-dirmake && make install#mongocd /app/localtar zxvf mongo-1.6.10.tgzcd mongo-1.6.10/app/local/php/bin/phpize./configure --with-php-config=/app/local/php/bin/php-configmake && make install#rediscd /app/localtar zxvf redis-2.2.7.tgzcd redis-2.2.7/app/local/php/bin/phpize./configure --with-php-config=/app/local/php/bin/php-configmake && make install#php.inivi /app/local/php/etc/php.ini
[memcached]
extension=memcached.so[mongodb]
extension=mongo.so [redis]
extension=redis.so #重启生效service php-fpm restartphp -i | grep php.iniphp -m
自动化部署
服务器的上传目录可以自定义,安装目录默认统一修改为/app/{local,data},执行脚本为web.sh
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
file://E:QQDownloadLTMP
(2 folders, 5 files, 27.66 MB, 30.76 MB in total.)│
httpd-2.2.29.tar.gz
pcre-8.37.tar.gz
php-5.5.27.tar.gz
16.95 MB│
tengine-2.1.0.tar.gz
4.10 KB├─init
(1 folders, 12 files, 91.42 KB, 92.23 KB in total.)│
allow.conf
35 bytes│
35 bytes│
limits.conf
nginx.conf
php-fpm.conf
416 bytes│
67.83 KB│
sysctl.conf
└─vhosts
(0 folders, 1 files, 826 bytes, 826 bytes in total.)│
localhost.conf
826 bytes└─src
(0 folders, 6 files, 3.01 MB, 3.01 MB in total.)
libmcrypt-2.5.8.tar.gz
mcrypt-2.6.8.tar.gz
memcache-3.0.8.tgz
mhash-0.9.9.9.tar.gz
mongo-1.6.10.tgz
redis-2.2.7.tgz
131.19 KB#web.sh#!/bin/bash## aliasltmp_local=$(cd &$(dirname &$0&)&; pwd)mkdir -p /app/{local,data}unalias cpltmp_init=$ltmp_local/init/ltmp_src=$ltmp_local/src/## system#historycp ${ltmp_init}bashrc /etc/#timerm -rf /etc/localtimeln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#maildropsed 's/MAILTO=root/MAILTO=&&/g' /etc/crontabservice crond restart#selinuxsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config#limitsecho ulimit -SHn 65535 && /etc/profilesource /etc/profilecp ${ltmp_init}limits.conf /etc/security/#tcpcp ${ltmp_init}sysctl.conf
/etc/#yumyum -y install yum-fastestmirroryum remove httpd mysql mysql-server php php-cli php-common php-devel php-gd
-yyum install -y wget gcc gcc-c++ openssl* curl curl-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel gd gd2 gd-devel gd2-devel libaio autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel#downloadcd /app/local##PCRE - Perl Compatible Regular Expressions#wget &ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz&##Tengine#wget &http://tengine.taobao.org/download/tengine-2.1.0.tar.gz&##MySQL#wget &/archives/mysql-5.6/mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz&##PHP#wget &http://cn2.php.net/distributions/php-5.6.11.tar.gz&##Mhash#wget &http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz&##libmcrypt#wget &http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz&##Mcrypt#wget &http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz&## softcd $ltmp_local#pcretar zxvf pcre-8.37.tar.gz 1& /dev/nullcd pcre-8.37./configuremake && make installcd ../#tenginegroupadd wwwuseradd -g www www#安装Tenginecd $ltmp_localtar zxvf tengine-2.1.0.tar.gz 1& /dev/nullcd tengine-2.1.0./configure --user=www --group=www --prefix=/app/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=${ltmp_local}/pcre-8.37make && make installcd ../#nginx configcd $ltmp_localcp ${ltmp_init}nginx.conf /app/local/nginx/conf/cp -r ${ltmp_init}vhosts /app/local/nginx/conf/mkdir -p /app/data/localhostchmod +w /app/data/localhostecho &&?php phpinfo();?&& & /app/data/localhost/phpinfo.phpchown -R www:www /app/data/localhostecho 'export PATH=$PATH:/app/local/nginx/sbin'&&/etc/profile && source /etc/profilecp ${ltmp_init}nginx /etc/rc.d/init.d/chmod +x /etc/init.d/nginxulimit -SHn 65535service nginx start#libmcryptcd $ltmp_srctar -zxvf libmcrypt-2.5.8.tar.gz 1& /dev/nullcd libmcrypt-2.5.8./configuremake && make installcd ../#mhashcd $ltmp_srctar -zxvf mhash-0.9.9.9.tar.gz 1& /dev/nullcd mhash-0.9.9.9./configuremake && make installcd ../#mcryptcd $ltmp_srctar -zxvf mcrypt-2.6.8.tar.gz 1& /dev/nullcd mcrypt-2.6.8LD_LIBRARY_PATH=/usr/local/lib ./configuremake && make installcd ../#phpcd $ltmp_localtar zxvf php-5.5.27.tar.gz 1& /dev/nullcd php-5.5.27./configure --prefix=/app/local/php --with-config-file-path=/app/local/php/etc --enable-fpm --enable-mbstring --with-mhash --with-mcrypt --with-curl --with-openssl --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlndmake && make install#memcachecd $ltmp_srctar zxvf memcache-3.0.8.tgz
1& /dev/nullcd memcache-3.0.8/app/local/php/bin/phpize./configure --enable-memcache --with-php-config=/app/local/php/bin/php-config --with-zlib-dirmake && make install#mongocd $ltmp_srctar zxvf mongo-1.6.10.tgz
1& /dev/nullcd mongo-1.6.10/app/local/php/bin/phpize./configure --with-php-config=/app/local/php/bin/php-configmake && make install#rediscd $ltmp_src#redistar zxvf redis-2.2.7.tgz
1& /dev/nullcd redis-2.2.7/app/local/php/bin/phpize./configure --with-php-config=/app/local/php/bin/php-configmake && make install#php-fpmcp ${ltmp_init}php.ini /app/local/php/etc/cp ${ltmp_init}php-fpm.conf /app/local/php/etc/echo 'export PATH=$PATH:/app/local/php/bin'&&/etc/profile && source /etc/profiletouch /app/local/php/var/log/php-fpm.slow.logcp ${ltmp_local}/php-5.5.27/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpmchmod +x /etc/rc.d/init.d/php-fpmservice php-fpm start
& 相关主题:

我要回帖

更多关于 cctv5下载安装ip 的文章

 

随机推荐