内容简介:配置环境:[root@iZ8vbeu0qk8k8cwav32t59Z ~]# cat /etc/redhat-release
配置环境:
[root@iZ8vbeu0qk8k8cwav32t59Z ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@iZ8vbeu0qk8k8cwav32t59Z ~]# uname -a
Linux iZ8vbeu0qk8k8cwav32t59Z 2.6.32-754.14.2.el6.x86_64 #1 SMP Tue May 14 19:35:42 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
需要安装的软件包:
cmake-2.8.11.2.tar.gz
pcre-8.35.tar.gz
libmcrypt-2.5.8.tar.gz
tiff-4.0.3.tar.gz
freetype-2.5.3.tar.gz
zlib-1.2.8.tar.gz
libpng-1.6.12.tar.gz
t1lib-5.1.2.tar.gz
yasm-1.2.0.tar.gz
libvpx-v1.3.0.tar.bz2
jpegsrc.v9a.tar.gz
libgd-2.1.0.tar.gz
nginx-1.6.0.tar.gz
php-5.6.31.tar.gz
yar-1.2.5.tgz
msgpack-0.5.7.tgz
rsync-3.1.2.tar.gz
下载安装包:
wget https://www.linuxprobe.com/Software/freetype-2.5.3.tar.gz
wget https://www.linuxprobe.com/Software/jpegsrc.v9a.tar.gz
wget https://www.linuxprobe.com/Software/libgd-2.1.0.tar.gz
wget https://www.linuxprobe.com/Software/libmcrypt-2.5.8.tar.gz
wget https://www.linuxprobe.com/Software/libpng-1.6.12.tar.gz
wget https://www.linuxprobe.com/Software/libvpx-v1.3.0.tar.bz2
wget https://www.linuxprobe.com/Software/nginx-1.6.0.tar.gz
wget https://www.linuxprobe.com/Software/openssl-1.0.1h.tar.gz
wget https://www.linuxprobe.com/Software/php-5.5.14.tar.gz
wget https://www.linuxprobe.com/Software/pcre-8.35.tar.gz
wget https://www.linuxprobe.com/Software/t1lib-5.1.2.tar.gz
wget https://www.linuxprobe.com/Software/tiff-4.0.3.tar.gz
wget https://www.linuxprobe.com/Software/yasm-1.2.0.tar.gz
安装CMAKE
cd /usr/local/src
wget https://www.linuxprobe.com/Software/cmake-2.8.11.2.tar.gz
tar xzvf cmake-2.8.11.2.tar.gz
cd cmake-2.8.11.2/
./configure
make && make install
cd /usr/local/src
tar xzvf pcre-8.35.tar.gz
cd pcre-8.35
./configure --prefix=/usr/local/pcre && make && make install
cd /usr/local/src
tar xzvf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
./config --prefix=/usr/local/openssl &&make && make install
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure && make && make install
tar zxvf tiff-4.0.3.tar.gz
cd tiff-4.0.3
./configure --prefix=/usr/local/tiff --enable-shared && make && make install
tar zxvf freetype-2.5.3.tar.gz
cd freetype-2.5.3
./configure --prefix=/usr/local/freetype --enable-shared && make && make install
cd /usr/local/src
wget https://www.linuxprobe.com/Software/zlib-1.2.8.tar.gz
tar xzvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib && make && make install
export LDFLAGS="-L/usr/local/zlib/lib"
export CPPFLAGS="-I/usr/local/zlib/include"
cd /usr/local/src
tar zxvf libpng-1.6.12.tar.gz
cd libpng-1.6.12
./configure --prefix=/usr/local/libpng --enable-shared && make && make install
yum install texlive-latex texlive-metapost texlive-collection-fontsrecommended
tar zxvf t1lib-5.1.2.tar.gz
cd t1lib-5.1.2
./configure --prefix=/usr/local/t1lib --enable-shared && make && make install
yum install -y apr* autoconf automake bison bzip2 bzip2* compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel
cd /usr/local/src
tar zxvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure && make && make install
tar xjvf libvpx-v1.3.0.tar.bz2
cd libvpx-v1.3.0
./configure --prefix=/usr/local/libvpx --enable-shared --enable-vp9 && make && make install
tar zxvf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure --prefix=/usr/local/jpeg --enable-shared && make && make install
cd /usr/local/src
tar zxvf libgd-2.1.0.tar.gz
cd libgd-2.1.0
./configure --prefix=/usr/local/libgd --enable-shared --with-jpeg=/usr/local/jpeg --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --with-fontconfig=/usr/local/freetype --with-xpm=/usr/ --with-tiff=/usr/local/tiff --with-vpx=/usr/local/libvpx && make && make install
useradd www -s /sbin/nologin
tar xzvf nginx-1.6.0.tar.gz
cd nginx-1.6.0/
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx
vim /etc/rc.d/init.d/nginx
#!/bin/bash
# nginx - this script starts and stops the nginx daemon
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# 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="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/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
fi
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; 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
fi
fi
done
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
#configtest || return $?
stop
sleep 1
start
}
reload() {
#configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
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
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
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 2
esac
chmod 755 /etc/rc.d/init.d/nginx
/etc/rc.d/init.d/nginx restart
chkconfig nginx on
curl 127.0.0.1
yum -y install lrzsz lsof
cd /usr/local/src
tar xzvf php-5.6.31.tar.gz
cd php-5.6.31
./configure --prefix=/usr/local/php5.6 --with-config-file-path=/usr/local/php5.6/etc --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-vpx-dir=/usr/local/libvpx/ --with-zlib-dir=/usr/local/zlib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype
make && make install
ln -s /usr/local/php5.6/bin/php-config /usr/local/sbin/php-config
ln -s /usr/local/php5.6/bin/phpize /usr/local/sbin/phpize
rm -rf /etc/php.ini
cd /usr/local/src/php-5.6.31
cp php.ini-production /usr/local/php5.6/etc/php.ini
ln -s /usr/local/php5.6/etc/php.ini /etc/php.ini
cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf
ln -s /usr/local/php5.6/etc/php-fpm.conf /etc/php-fpm.conf
cd /usr/local/src/php-5.6.31
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod 755 /etc/rc.d/init.d/php-fpm
chkconfig php-fpm on
service php-fpm status
service php-fpm start
service php-fpm status
service php-fpm stop
service php-fpm status
cd /usr/local/nginx/conf/
vim /usr/local/nginx/conf/nginx.conf
user www www;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$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;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#server {
# listen 80;
# server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
# location / {
# root html;
# index index.html index.htm 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 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 /scripts$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;
#}
#}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
include vhosts/*.conf;
}
mkdir vhosts
cd vhosts/
vim aliexpress_80.conf
server {
listen 80;
server_name localhost;
location / {
root /www/web/api_aliexpress_web;
index index.html index.htm index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
location ~ \.php$ {
root /www/web/api_aliexpress_web;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
service nginx reload
mkdir -p /www/web
mkdir -p /www/web/aliexpress
crontab -e
date
/usr/sbin/ntpdate -u 195.13.1.153
vim /etc/php.ini
service php-fpm restart
tar xzvf msgpack-0.5.7.tgz
cd msgpack-0.5.7
phpize
./configure --prefix=/usr/local/msgpack
make && make install
tar xzvf yar-1.2.5.tgz
cd yar-1.2.5
phpize
./configure --prefix=/usr/local/yar && make && make install
vim /usr/local/php5.6/etc/php.ini
service php-fpm restart
php -m | grep yar
cd /usr/local/src
tar xzvf rsync-3.1.2.tar.gz
cd rsync-3.1.2
./configure --prefix=/usr/local/rsync && make && make install
ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
mkdir -p /etc/rsyncd/
cd /etc/rsyncd
vim rsyncd.conf
uid = 0
gid = 0
max connections = 4
read only = true
#hosts allow = 202.207.177.180
hosts allow = 127.0.0.1,192.168.66.12,192.168.66.17
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
slp refresh = 300
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
[aliexpress]
path = /www/web/api_aliexpress_master
comment = Mirror to Hk server
read only = false
list = false
auth users = rsync_user
secrets file = /etc/rsyncd/rsync.server.password
[api_image_web]
path = /www/web/api_aliexpress_web
comment = Mirror to Hk server
read only = false
list = false
auth users = rsync_user
secrets file = /etc/rsyncd/rsync.server.password
[root@iZ8vbeu0qk8k8cwav32t59Z rsyncd]# cat rsync.client.password
rsync_123456
[root@iZ8vbeu0qk8k8cwav32t59Z rsyncd]# cat rsync.server.password
rsync_user:rsync_123456
[root@iZ8vbeu0qk8k8cwav32t59Z rsyncd]# ll
total 12
-rw------- 1 root root 13 May 31 11:40 rsync.client.password
-rw-r--r-- 1 root root 725 May 31 11:42 rsyncd.conf
-rw------- 1 root root 24 May 31 11:40 rsync.server.password
vim /etc/init.d/rsyncd
#!/bin/bash
#rsyncd This shell script takes care of starting and stopping standalone rsync.
#chkconfig: - 99 50
#description:rsync is a file transport daemon
#processname:rsync
#config:/etc/rsyncd.conf
#Source function library
. /etc/rc.d/init.d/functions
RETVAL=0
prog="rsync"
rsync="/usr/local/rsync/bin/rsync"
pid="/var/run/rsyncd.pid"
lock="/var/run/rsync.lock"
CFILE="/etc/rsyncd/rsyncd.conf"
start() {
#Start daemons.
[ -x $rsync ] || \
{ echo "FATAL:No such programme"; exit 4; }
[ -f $CFILE ] || \
{ echo "FATAL:config file does not exist"; exit 6; }
echo -n $"Starting $prog daemon..."
$rsync --daemon --config=$CFILE
RETVAL=$?
echo -n "OK!!!"
echo
return $RETVAL
}
stop() {
#Stop daemons
echo -n $"Stopping $prog:..."
kill -9 `cat /var/run/rsyncd.pid`
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $pid && rm -f $lock
echo -n "OK!!!"
echo
return $RETVAL
}
status(){
if [ -f $pid ];then
echo "Rsync is running,pid(`cat $pid`)"
else
echo "Rsync is not running"
fi
}
#call the function we defined
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
status)
status
RETVAL=$?
;;
*)
echo $"Usage:$0 {start|stop|restart|reload|status}"
exit 2
esac
exit $RETVAL
chmod 755 /etc/init.d/rsyncd
SVN自动更新脚本:
#!/bin/bash
#svn同步api
svn up /www/web/api_aliexpress_master
chown www.www -R /www/web/api_aliexpress_master
chmod 755 -R /www/web/api_aliexpress_master
#rsync
/usr/local/rsync/bin/rsync -avz rsync_user@127.0.0.1::aliexpress /www/web/api_aliexpress_web --password-file=/etc/rsyncd/rsync.client.password --exclude=Upload --exclude=cli.php --exclude=index.php --exclude=Application/Runtime --exclude=Application/Common/Conf --exclude=Application/Home/Conf --exclude=.svn --delete
#删除Runtime文件
#rm /www/web/api_web/Application/Runtime -rf
以上所述就是小编给大家介绍的《CentOS6.9+php5.6.31[PHP-FPM]+nginx-1.6.0+rsync+SVN自动更新脚本》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- FRIDA脚本系列(四)更新篇:几个主要机制的大更新
- ShowDoc 更新:新增一键自动安装/升级脚本
- ShowDoc 更新:新增一键自动安装/升级脚本
- 你必须知道的python运维常用脚本!(日常更新)
- 分布式监控系统 WGCLOUD 更新,支持自定义告警脚本
- Scorpio-CSharp v2.0.2 发布,Unity 游戏热更新脚本
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。