Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
介绍
之前写过CentOS安装PHP,MySQL,Nginx的相关文章,具体介绍这里就不写了,直接上操作步骤.
安装Tengine
1.安装必要的编译环境
yumupdate yuminstallgccgcc-c++autoconfautomake
2.安装需要的组件PCRE
PCRE(PerlCompatibleRegularExpressions)http://www.pcre.org是一个Perl库,包括perl兼容的正则表达式库。nginxrewrite依赖于PCRE库,所以在安装Tengine前一定要先安装PCRE,最新版本的PCRE可在官网获取。具体安装流程为:
cd/usr/local/src wgethttps://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz tarzxvfpcre-8.43.tar.gz cdpcre-8.43 ./configure--prefix=/usr/local/pcre make&&makeinstall
OpenSSL
OpenSSLhttp://www.openssl.org/source是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。安装OpenSSL主要是为了让tengine支持Https的访问请求。具体是否安装看需求。安装流程为:
cd/usr/local/src wgethttp://www.openssl.org/source/openssl-1.0.2s.tar.gz tarzxvfopenssl-1.0.2s.tar.gz cdopenssl-1.0.2s ./config--prefix=/usr/local/openssl make&&makeinstall
Zlib
Zlibhttp://www.zlib.net是提供资料压缩之用的函式库,当Tengine想启用GZIP压缩的时候就需要使用到Zli。安装流程为:
cd/usr/local/src wgethttp://zlib.net/zlib-1.2.11.tar.gz tarzxvfzlib-1.2.11.tar.gz cdzlib-1.2.11 ./configure--prefix=/usr/local/zlib make&&makeinstall
jemalloc
jemallochttp://www.canonware.com/jemalloc是一个更好的内存管理工具,使用jemalloc可以更好的优化Tengine的内存管理。安装流程为:
cd/usr/local/src wgethttps://src.fedoraproject.org/lookaside/pkgs/jemalloc/jemalloc-5.2.1.tar.bz2/sha512/0bbb77564d767cef0c6fe1b97b705d368ddb360d55596945aea8c3ba5889fbce10479d85ad492c91d987caacdbbdccc706aa3688e321460069f00c05814fae02/jemalloc-5.2.1.tar.bz2 tarjxvfjemalloc-5.2.1.tar.bz2 cdjemalloc-5.2.1 ./configure--prefix=/usr/local/jemalloc make&&makeinstall
3.安装Tengine
在主要核心的组件安装完毕以后就可以安装Tegine了,最新版本的Tegine可从官网http://tengine.taobao.org获取。在编译安装前还需要做的一件事是添加一个专门的用户来执行Tengine。当然你也可以用root(不建议)。
添加用户及用户组:
#添加www组 groupadd-rwww #创建www运行账户nginx并加入到www组,不允许www用户直接登录系统 useradd-s/sbin/nologin-gwww-rwww
编译安装TengineTODO
cd/usr/local/src wgethttp://tengine.taobao.org/download/tengine-2.2.0.tar.gz tar-zxvftengine-2.2.0.tar.gz cdtengine-2.2.0 ./configure--prefix=/usr/local/nginx\ --user=www\ --group=www\ --with-pcre=/usr/local/src/pcre-8.40\ --with-openssl=/usr/local/src/openssl-1.0.2\ --with-jemalloc=/usr/local/src/jemalloc-3.6.0\ --with-http_gzip_static_module\ --with-http_realip_module\ --with-http_stub_status_module\ --with-http_concat_module\ --with-zlib=/usr/local/src/zlib-1.2.11 make&&makeinstall
注意配置的时候–with-pcre、–with-openssl、–with-jemalloc、–with-zlib的路径为源文件的路径。
4.CentOS7配置Tengine,设置tengine开机自启
#系统用户登录系统后启动的服务的目录 /usr/lib/systemd/system #如需要开机没有登陆情况下就能运行的程序在系统目录内 /usr/lib/systemd/system #我希望系统开机就启动目录,所以我把文件放在系统目录内。 vim/lib/systemd/system/nginx.service [Unit] Description=ThenginxHTTPandreverseproxyserver After=syslog.targetnetwork.targetremote-fs.targetnss-lookup.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx-t ExecStart=/usr/local/nginx/sbin/nginx-c/usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill-sHUP$MAINPID ExecStop=/bin/kill-sQUIT$MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
#修改文件权限 chmod745nginx.service #设置为开机启动 systemctlenablenginx.service #其它命令 #启动nginx服务 systemctlstartnginx.service #设置开机自启动 systemctlenablenginx.service #停止开机自启动 systemctldisablenginx.service #查看服务当前状态 systemctlstatusnginx.service #重新启动服务 systemctlrestartnginx.service #查看所有已启动的服务 systemctllist-units--type=service
编辑Tengine操作脚本
vi/etc/rc.d/init.d/nginx#编辑启动文件添加下面内容
############################################################
#!/bin/sh
#
#nginx-thisscriptstartsandstopsthenginxdaemon
#
#chkconfig:-8515
#description:NGINXisanHTTP(S)server,HTTP(S)reverse\
#proxyandIMAP/POP3proxyserver
#processname:nginx
#config:/usr/local/nginx/conf/nginx.conf
#config:/etc/sysconfig/nginx
#pidfile:/usr/local/nginx/logs/nginx.pid
#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
#Sourcenetworkingconfiguration.
./etc/sysconfig/network
#Checkthatnetworkingisup.
["$NETWORKING"="no"]&&exit0
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(){
#makerequireddirectories
user=`$nginx-V2>&1|grep"configurearguments:.*--user="|sed's/[^*]*--user=\([^]*\).*/\1/g'-`
if[-n"$user"];then
if[-z"`grep$user/etc/passwd`"];then
useradd-M-s/bin/nologin$user
fi
options=`$nginx-V2>&1|grep'configurearguments:'`
foroptin$options;do
if[`echo$opt|grep'.*-temp-path'`];then
value=`echo$opt|cut-d"="-f2`
if[!-d"$value"];then
#echo"creating"$value
mkdir-p$value&&chown-R$user$value
fi
fi
done
fi
}
start(){
[-x$nginx]||exit5
[-f$NGINX_CONF_FILE]||exit6
make_dirs
echo-n$"Starting$prog:"
daemon$nginx-c$NGINX_CONF_FILE
retval=$?
echo
[$retval-eq0]&&touch$lockfile
return$retval
}
stop(){
echo-n$"Stopping$prog:"
killproc$prog-QUIT
retval=$?
echo
[$retval-eq0]&&rm-f$lockfile
return$retval
}
restart(){
configtest||return$?
stop
sleep1
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/null2>&1
}
case"$1"in
start)
rh_status_q&&exit0
$1
;;
stop)
rh_status_q||exit0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q||exit7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q||exit0
;;
*)
echo$"Usage:$0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit2
esac
############################################################
配置权限及开机启动
chmod745/etc/rc.d/init.d/nginx#设置权限 chkconfignginxon#开机启动
操作指令
#开启服务 /etc/init.d/nginxstart #重启服务 /etc/init.d/nginxrestart #停止服务 /etc/init.d/nginxstop #查看服务状态 /etc/init.d/nginxstatus
到此这篇关于AliyunLinux编译安装php7.3tengine2.3.2mysql8.0redis5的文章就介绍到这了,更多相关Linux编译安装php7.3内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
