阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6.8编译安装LNMP环境

412次阅读
没有评论

共计 25994 个字符,预计需要花费 65 分钟才能阅读完成。

CentOS 6.8 中编译安装 LNMP 环境,LNMP 即 Linux,Nginx,MySQL,PHP。我个人的理解是:

Linux 就是环境所在的操作系统;Nginx 则是一个「高性能的 HTTP 和反向代理服务器」,官网地址:http://nginx.org/;MySQL 则是一个方便地对数据进行增删改查的数据库管理系统,官网地址:http://www.mysql.com/;PHP 则是用来处理具体请求的脚本语言,官网地址:http://www.php.net/。运用这 4 件工具,最简单直接的一个用途就是搭建一个网站,例如现在我的个人网站就是在「LNMP」上面跑的,然后博客(我使用 WordPress)、新闻等其它内容也可以放到网站中。其实在 Nginx 开始受到关注之前,「LAMP」是搭建网站比较流行的选择,即 Linux,Apache,MySQL,PHP。本文的目的就是介绍一下如何从零开始搭建一个 LNMP 环境,然后初步让一个网页能够通过浏览器走 HTTP 请求访问。这里我们使用的不是 LNMP 的一键安装包,而是难度稍微高「一点」的逐个安装,这样做或许能让你对这个环境的细节有更好的理解,而且对各部分的定制程度可以达到最高。

LNMP 环境搭建 (Discuz 论坛)  http://www.linuxidc.com/Linux/2016-03/129334.htm

Ubuntu 14.04 下 apt-get 方法安装 LNMP 环境  http://www.linuxidc.com/Linux/2016-07/133683.htm

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境) http://www.linuxidc.com/Linux/2015-12/126200.htm

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL  http://www.linuxidc.com/Linux/2014-05/102351.htm

CentOS 7 源码安装最新版 LNMP 环境 http://www.linuxidc.com/Linux/2015-04/116058.htm

Ubuntu 16.04 下源码配置 LNMP 开发环境 http://www.linuxidc.com/Linux/2016-09/135381.htm

所需软件包:

[root@Zabbix_Server Tools]# pwd
/usr/local/Tools
[root@Zabbix_Server Tools]# ll
total 156480
-rw-r–r–  1 root root  5490501 Feb 24  2016 cmake-3.0.2.tar.gz    #MySQL 编译工具
-rw-r–r–  1 root root  2301350 Feb 24  2016 freetype-2.5.4.tar.gz    #gd 库需要
-rw-r–r–  1 root root  1000034 Feb 24  2016 jpegsrc.v9a.tar.gz    #gd 库需要
-rw-r–r–  1 root root  2330322 Feb 24  2016 libgd-2.1.0.tar.gz    #gd 库安装包
-rw-r–r–  1 root root  1335178 Feb 24  2016 libmcrypt-2.5.8.tar.gz    #php 扩展
-rw-r–r–  1 root root  1479720 Sep  2 13:51 libpng-1.6.25.tar.gz    #gd 库需要
-rw-r–r–  1 root root  1310159 Feb 24  2016 libpng-1.6.7.tar.gz
-rw-r–r–  1 root root  2084229 Feb 24  2016 libvpx-v1.3.0.tar.bz2    #gd 库需要
-rw-r–r–  1 root root 33009070 Feb 24  2016 mysql-5.6.21.tar.gz
-rw-r–r–  1 root root  804164 Aug 24  2015 nginx-1.6.2.tar.gz
-rw-r–r–  1 root root  4432964 Aug 24  2015 openssl-1.0.1j.tar.gz    #nginx 扩展
-rw-r–r–  1 root root  2009464 Aug 24  2015 pcre-8.36.tar.gz    #支持 nginx 伪静态
-rw-r–r–  1 root root 17514721 Feb 24  2016 php-5.6.3.tar.gz
-rw-r–r–  1 root root  1872534 Feb 24  2016 t1lib-5.1.2.tar.gz    #php 扩展
-rw-r–r–  1 root root  2051630 Feb 24  2016 tiff-4.0.3.tar.gz    #gd 库需要
-rw-r–r–  1 root root  1492156 Feb 24  2016 yasm-1.3.0.tar.gz    #php 扩展
-rw-r–r–  1 root root  571091 Aug 24  2015 zlib-1.2.8.tar.gz    #nginx 扩展
[root@Zabbix_Server Tools]#

安装编译工具及库文件(使用 yum 命令安装)

[root@Zabbix_Server Tools]# yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng* libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libX* libtiff libtiff* make mpfr ncurses* ntp openssl nasm nasm* openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* wget zlib-devel

安装 MySQL

    安装 cmake

[root@Zabbix_Server Tools]# tar zxvf cmake-3.0.2.tar.gz 
[root@Zabbix_Server Tools]# cd cmake-3.0.2
[root@Zabbix_Server cmake-3.0.2]# ./configure 
[root@Zabbix_Server cmake-3.0.2]# make && make install

    安装 MySQL
[root@Zabbix_Server Tools]# groupadd mysql    #添加 mysql 组
[root@Zabbix_Server Tools]# useradd -g mysql mysql -s /bin/false    #创建用户 mysql 并加入到 mysql 组,不允许 mysql 用户直接登录系统 
[root@Zabbix_Server Tools]# mkdir -p /app/data/mysql    #MySQL 数据库存放目录
[root@Zabbix_Server Tools]# chown -R mysql:mysql /app/data/mysql/    #设置 MySQL 数据库存放目录权限
[root@Zabbix_Server Tools]# mkdir /app/mysql    #MySQL 安装目录
[root@Zabbix_Server Tools]# tar zxvf mysql-5.6.21.tar.gz
[root@Zabbix_Server Tools]# cd mysql-5.6.21
[root@Zabbix_Server mysql-5.6.21]# cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql/ -DMYSQL_DATADIR=/app/data/mysql/ -DSYSCONFDIR=/etc/    #配置
[root@Zabbix_Server mysql-5.6.21]# make && make install
[root@Zabbix_Server mysql-5.6.21]# mv /etc/my.cnf{,20160902bak}    #删除或者改名系统默认的配置文件(可能有)
[root@Zabbix_Server mysql]# ./scripts/mysql_install_db –user=mysql –basedir=/app/mysql/ –datadir=/app/data/mysql/    #生成 mysql 系统数据库
[root@Zabbix_Server mysql]# ln -s /app/mysql/my.cnf /etc/my.cnf    #添加到 /etc 目录的软连接
[root@Zabbix_Server mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld    #把 Mysql 加入系统启动
[root@Zabbix_Server mysql]# chmod 755 /etc/rc.d/init.d/mysqld 
[root@Zabbix_Server mysql]# chkconfig mysqld on
[root@Zabbix_Server mysql]# vim /etc/rc.d/init.d/mysqld
basedir=/app/mysql    #MySQL 程序安装路径
datadir=/app/data/mysql    #MySQl 数据库存放目录
[root@Zabbix_Server mysql]# service mysqld start
[root@Zabbix_Server mysql]# vim /etc/profile
export PATH=$PATH:/app/mysql/bin/    #把 mysql 服务加入系统环境变量:在最后添加下面这一行
[root@Zabbix_Server mysql]# source /etc/profile
# 下面这两行把 myslq 的库文件链接到系统默认的位置,这样你在编译类似 PHP 等软件时可以不用指定 mysql 的库文件地址。
[root@Zabbix_Server mysql]# ln -s /app/mysql/lib/mysql /usr/lib/mysql
[root@Zabbix_Server mysql]# ln -s /app/mysql/include/mysql /usr/include/mysql
[root@Zabbix_Server mysql]# mkdir /var/lib/mysql
[root@Zabbix_Server mysql]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
[root@Zabbix_Server mysql]# mysql_secure_installation    #设置 Mysql 密码,根据提示按 Y 回车输入 2 次密码,我这里直接把密码设置成 Zabbix,方便记忆。

安装 Nginx

    安装 pcre
[root@Zabbix_Server mysql]# cd /usr/local/Tools/
[root@Zabbix_Server Tools]# mkdir /app/pcre
[root@Zabbix_Server Tools]# tar zxvf pcre-8.36.tar.gz 
[root@Zabbix_Server pcre-8.36]# ./configure –prefix=/app/pcre/
[root@Zabbix_Server pcre-8.36]# make && make install

    安装 openssl
[root@Zabbix_Server pcre-8.36]# cd ..
[root@Zabbix_Server Tools]# mkdir /app/openssl
[root@Zabbix_Server Tools]# tar zxvf openssl-1.0.1j.tar.gz 
[root@Zabbix_Server Tools]# cd openssl-1.0.1j
[root@Zabbix_Server openssl-1.0.1j]# ./config –prefix=/app/openssl/
[root@Zabbix_Server openssl-1.0.1j]# make && make install
[root@Zabbix_Server openssl-1.0.1j]# vim /etc/profile
export PATH=$PATH:/app/openssl/bin/
[root@Zabbix_Server openssl-1.0.1j]# source /etc/profile

    安装 zlib
[root@Zabbix_Server openssl-1.0.1j]# cd /usr/local/Tools/
[root@Zabbix_Server Tools]# mkdir /app/zlib
[root@Zabbix_Server Tools]# tar zxvf zlib-1.2.8.tar.gz 
[root@Zabbix_Server Tools]# cd zlib-1.2.8
[root@Zabbix_Server zlib-1.2.8]# ./configure –prefix=/app/zlib/
[root@Zabbix_Server zlib-1.2.8]# make && make install

    安装 Nginx

[root@Zabbix_Server zlib-1.2.8]# cd /usr/local/Tools/
[root@Zabbix_Server Tools]# groupadd www
[root@Zabbix_Server Tools]# useradd -g www www -s /bin/false 
[root@Zabbix_Server Tools]# tar zxvf nginx-1.6.2.tar.gz 
[root@Zabbix_Server Tools]# cd nginx-1.6.2
[root@Zabbix_Server nginx-1.6.2]# ./configure –prefix=/app/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/Tools/openssl-1.0.1j –with-zlib=/usr/local/Tools/zlib-1.2.8 –with-pcre=/usr/local/Tools/pcre-8.36
[root@Zabbix_Server nginx-1.6.2]# make && make install
[root@Zabbix_Server nginx-1.6.2]# /app/nginx/sbin/nginx    #启动 nginx 
[root@Zabbix_Server nginx-1.6.2]# ps -ef|grep nginx
root      2477    1  0 17:10 ?        00:00:00 nginx: master process /app/nginx/sbin/nginx
www      2478  2477  0 17:10 ?        00:00:00 nginx: worker process
root      2480  6918  0 17:10 pts/0    00:00:00 grep nginx
[root@Zabbix_Server nginx-1.6.2]#

./configure 时:–with-openssl=/usr/local/src/openssl-1.0.1j –with-zlib=/usr/local/src/zlib-1.2.8 –with-pcre=/usr/local/src/pcre-8.36 指向的是源码包解压的路径,而不是安装的路径,否则会报错
[root@Zabbix_Server nginx-1.6.2]# vim /etc/rc.d/init.d/nginx    #添加 nginx 启动文件 
#!/bin/sh
 
#
 
# 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: /app/nginx/conf/nginx.conf
 
# pidfile: /app/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=”/app/nginx/sbin/nginx”
 
prog=$(basename $nginx)
 
NGINX_CONF_FILE=”/app/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
[root@Zabbix_Server nginx-1.6.2]# chmod 775 /etc/rc.d/init.d/nginx 
[root@Zabbix_Server nginx-1.6.2]# chkconfig nginx on
[root@Zabbix_Server nginx-1.6.2]# /etc/rc.d/init.d/nginx restart
[root@Zabbix_Server nginx-1.6.2]# cp /etc/sysconfig/iptables{,20160902bak}
[root@Zabbix_Server nginx-1.6.2]# vim /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
[root@Zabbix_Server nginx-1.6.2]# /etc/rc.d/init.d/iptables restart

在浏览器中打开服务器 IP 地址,会看到下面的界面,说明 Nginx 安装成功。

CentOS 6.8 编译安装 LNMP 环境

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2017-01/139086p2.htm

安装 php

    安装 yasm
[root@Zabbix_Server nginx-1.6.2]# cd /usr/local/Tools/
[root@Zabbix_Server Tools]# tar zxvf yasm-1.3.0.tar.gz 
[root@Zabbix_Server Tools]# cd yasm-1.3.0
[root@Zabbix_Server yasm-1.3.0]# ./configure 
[root@Zabbix_Server yasm-1.3.0]# make && make install

    安装 libmcrypt
[root@Zabbix_Server yasm-1.3.0]# cd ..
[root@Zabbix_Server Tools]# tar zxvf libmcrypt-2.5.8.tar.gz 
[root@Zabbix_Server Tools]# cd libmcrypt-2.5.8
[root@Zabbix_Server libmcrypt-2.5.8]# ./configure 
[root@Zabbix_Server Tools]# cd libmcrypt-2.5.8
[root@Zabbix_Server libmcrypt-2.5.8]# ./configure

    安装 libvpx
[root@Zabbix_Server libmcrypt-2.5.8]# cd ../
[root@Zabbix_Server Tools]# tar xvf libvpx-v1.3.0.tar.bz2
[root@Zabbix_Server libvpx-v1.3.0]# cd libvpx-v1.3.0
[root@Zabbix_Server libvpx-v1.3.0]# ./configure –prefix=/app/libvpx –enable-shared –enable-vp9
[root@Zabbix_Server libvpx-v1.3.0]# make && make install

    安装 tiff
[root@Zabbix_Server libvpx-v1.3.0]# cd ..
[root@Zabbix_Server Tools]# tar zxvf tiff-4.0.3.tar.gz 
[root@Zabbix_Server Tools]# cd tiff-4.0.3
[root@Zabbix_Server tiff-4.0.3]# ./configure –prefix=/app/tiff –enable-shared
[root@Zabbix_Server tiff-4.0.3]# make && make install

    安装 libpng
[root@Zabbix_Server tiff-4.0.3]# cd ..
[root@Zabbix_Server Tools]# tar zxvf libpng-1.6.25.tar.gz 
[root@Zabbix_Server Tools]# cd libpng-1.6.25
[root@Zabbix_Server libpng-1.6.25]# ./configure –prefix=/app/libpng –enable-shared
[root@Zabbix_Server libpng-1.6.25]# make && make install

    安装 freetype
[root@Zabbix_Server libpng-1.6.25]# cd ..
[root@Zabbix_Server Tools]# tar zxvf freetype-2.5.4.tar.gz 
[root@Zabbix_Server Tools]# cd freetype-2.5.4
[root@Zabbix_Server freetype-2.5.4]# ./configure –prefix=/app/freetype –enable-shared
[root@Zabbix_Server freetype-2.5.4]# make && make install

    安装 jpeg
[root@Zabbix_Server freetype-2.5.4]# cd ..
[root@Zabbix_Server Tools]# tar zxvf jpegsrc.v9a.tar.gz 
[root@Zabbix_Server Tools]# cd jpeg-9a/
[root@Zabbix_Server jpeg-9a]# ./configure –prefix=/app/jpeg –enable-shared
[root@Zabbix_Server jpeg-9a]# make && make install

    安装 libgd
[root@Zabbix_Server jpeg-9a]# cd ..
[root@Zabbix_Server Tools]# tar zxvf libgd-2.1.0.tar.gz 
[root@Zabbix_Server Tools]# cd libgd-2.1.0
[root@Zabbix_Server libgd-2.1.0]# ./configure –prefix=/app/libgd –enable-shared –with-jpeg=/app/jpeg/ –with-png=/app/libpng/ –with-freetype=/app/freetype/ –with-fontconfig=/app/freetype/ –with-xpm=/usr/ –with-tiff=/app/tiff/ –with-vpx=/app/libvpx/ 
[root@Zabbix_Server libgd-2.1.0]# make && make install

    安装 t1lib
[root@Zabbix_Server libgd-2.1.0]# cd ..
[root@Zabbix_Server Tools]# tar zxvf t1lib-5.1.2.tar.gz 
[root@Zabbix_Server Tools]# cd t1lib-5.1.2
[root@Zabbix_Server t1lib-5.1.2]# ./configure –prefix=/app/t1lib –enable-shared
[root@Zabbix_Server t1lib-5.1.2]# make without_doc
[root@Zabbix_Server t1lib-5.1.2]# make install

    安装 php
[root@Zabbix_Server t1lib-5.1.2]# cd ..
[root@Zabbix_Server Tools]# cp -frp /usr/lib64/libltdl.so* /usr/lib/
[root@Zabbix_Server Tools]# cp -frp /usr/lib64/libXpm.so* /usr/lib/

如果系统是 64 位,请执行以上两条命令,否则安装 php 会出错(32 位系统不需要执行)
[root@Zabbix_Server Tools]# tar zxvf php-5.6.3.tar.gz 
[root@Zabbix_Server Tools]# cd php-5.6.3
[root@Zabbix_Server php-5.6.3]# export LD_LIBRARY_PATH=/app/libgd/lib/
[root@Zabbix_Server php-5.6.3]# ./configure –prefix=/app/php –with-config-file-path=/app/php/etc –with-MySQL=/app/mysql –with-mysqli=/app/mysql/bin/mysql_config –with-mysql-sock=/tmp/mysql.sock –with-pdo-mysql=/app/mysql –with-gd –with-png-dir=/app/libpng –with-jpeg-dir=/app/jpeg –with-freetype-dir=/app/freetype –with-xpm-dir=/usr/ –with-vpx-dir=/app/libvpx/ –with-zlib-dir=/app/zlib –with-t1lib=/app/t1lib –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
[root@Zabbix_Server php-5.6.3]# make && make install
[root@Zabbix_Server php-5.6.3]# cp php.ini-production /app/php/etc/php.ini    #复制 php 配置文件到安装目录
[root@Zabbix_Server php-5.6.3]# rm -rf /etc/php.ini 
[root@Zabbix_Server php-5.6.3]# ln -s /app/php/etc/php.ini /etc/php.ini
[root@Zabbix_Server php-5.6.3]# cp /app/php/etc/php-fpm.conf.default /app/php/etc/php-fpm.conf    #拷贝模板文件为 php-fpm 配置文件
[root@Zabbix_Server php-5.6.3]# ln -s /app/php/etc/php-fpm.conf /etc/php-fpm.conf
[root@Zabbix_Server php-5.6.3]# vim /app/php/etc/php-fpm.conf
user = www    #设置 php-fpm 运行账号为 www
group = www
pid = run/php-fpm.pid    #取消前面的分号
[root@Zabbix_Server php-5.6.3]# cp /usr/local/Tools/php-5.6.3/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
[root@Zabbix_Server php-5.6.3]# chmod +x /etc/rc.d/init.d/php-fpm 
[root@Zabbix_Server php-5.6.3]# chkconfig php-fpm on
[root@Zabbix_Server php-5.6.3]# vim /app/php/etc/php.ini 
#disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname    #列出 PHP 可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。我这里注释了
date.timezone = PRC    #设置时区
expose_php = Off    #禁止显示 php 版本的信息
short_open_tag = ON    #支持 php 短标签
opcache.enable=1    #php 支持 opcode 缓存
opcache.enable_cli    #php 支持 opcode 缓存
zend_extension=opcache.so    #文末添加,开启 opcode 缓存功能
[root@Zabbix_Server php-5.6.3]# vim /app/nginx/conf/nginx.conf    #配置 Nginx 支持 PHP   
user  www www;    #首行 user 去掉注释, 修改 Nginx 运行组为 www www;必须与 /usr/local/php/etc/php-fpm.conf 中的 user,group 配置相同,否则 php 运行出错
location / {
            root  html;
            index  index.html index.htm index.php;    #添加 index.php   
        }
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #    #取消 FastCGI server 部分 location 的注释
        location ~ \.php$ {
            root          html;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;    #fastcgi_param 行的参数, 改为 $document_root$fastcgi_script_name, 或者使用绝对路径
            include        fastcgi_params;
        }       
[root@Zabbix_Server php-5.6.3]# /etc/init.d/nginx restart
[root@Zabbix_Server php-5.6.3]# /etc/init.d/php-fpm restart
[root@Zabbix_Server php-5.6.3]# cd /app/nginx/html/
[root@Zabbix_Server html]# rm -rf *
[root@Zabbix_Server html]# vim index.php
<?php
phpinfo();
?>
[root@Zabbix_Server html]# chown www:www -R /app/nginx/html/
[root@Zabbix_Server html]# chmod 700 /app/nginx/html/ -R

在浏览器中打开服务器 IP 地址,会看到 php 信息,说明配置正常

CentOS 6.8 编译安装 LNMP 环境

CentOS 6.8 编译安装 LNMP 环境 PDF 版到 Linux 公社资源站下载:

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是 www.linuxidc.com

具体下载目录在 /2017 年资料 / 1 月 / 2 日 /CentOS 6.8 编译安装 LNMP 环境 /

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-01/139086.htm

CentOS 6.8 中编译安装 LNMP 环境,LNMP 即 Linux,Nginx,MySQL,PHP。我个人的理解是:

Linux 就是环境所在的操作系统;Nginx 则是一个「高性能的 HTTP 和反向代理服务器」,官网地址:http://nginx.org/;MySQL 则是一个方便地对数据进行增删改查的数据库管理系统,官网地址:http://www.mysql.com/;PHP 则是用来处理具体请求的脚本语言,官网地址:http://www.php.net/。运用这 4 件工具,最简单直接的一个用途就是搭建一个网站,例如现在我的个人网站就是在「LNMP」上面跑的,然后博客(我使用 WordPress)、新闻等其它内容也可以放到网站中。其实在 Nginx 开始受到关注之前,「LAMP」是搭建网站比较流行的选择,即 Linux,Apache,MySQL,PHP。本文的目的就是介绍一下如何从零开始搭建一个 LNMP 环境,然后初步让一个网页能够通过浏览器走 HTTP 请求访问。这里我们使用的不是 LNMP 的一键安装包,而是难度稍微高「一点」的逐个安装,这样做或许能让你对这个环境的细节有更好的理解,而且对各部分的定制程度可以达到最高。

LNMP 环境搭建 (Discuz 论坛)  http://www.linuxidc.com/Linux/2016-03/129334.htm

Ubuntu 14.04 下 apt-get 方法安装 LNMP 环境  http://www.linuxidc.com/Linux/2016-07/133683.htm

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境) http://www.linuxidc.com/Linux/2015-12/126200.htm

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL  http://www.linuxidc.com/Linux/2014-05/102351.htm

CentOS 7 源码安装最新版 LNMP 环境 http://www.linuxidc.com/Linux/2015-04/116058.htm

Ubuntu 16.04 下源码配置 LNMP 开发环境 http://www.linuxidc.com/Linux/2016-09/135381.htm

所需软件包:

[root@Zabbix_Server Tools]# pwd
/usr/local/Tools
[root@Zabbix_Server Tools]# ll
total 156480
-rw-r–r–  1 root root  5490501 Feb 24  2016 cmake-3.0.2.tar.gz    #MySQL 编译工具
-rw-r–r–  1 root root  2301350 Feb 24  2016 freetype-2.5.4.tar.gz    #gd 库需要
-rw-r–r–  1 root root  1000034 Feb 24  2016 jpegsrc.v9a.tar.gz    #gd 库需要
-rw-r–r–  1 root root  2330322 Feb 24  2016 libgd-2.1.0.tar.gz    #gd 库安装包
-rw-r–r–  1 root root  1335178 Feb 24  2016 libmcrypt-2.5.8.tar.gz    #php 扩展
-rw-r–r–  1 root root  1479720 Sep  2 13:51 libpng-1.6.25.tar.gz    #gd 库需要
-rw-r–r–  1 root root  1310159 Feb 24  2016 libpng-1.6.7.tar.gz
-rw-r–r–  1 root root  2084229 Feb 24  2016 libvpx-v1.3.0.tar.bz2    #gd 库需要
-rw-r–r–  1 root root 33009070 Feb 24  2016 mysql-5.6.21.tar.gz
-rw-r–r–  1 root root  804164 Aug 24  2015 nginx-1.6.2.tar.gz
-rw-r–r–  1 root root  4432964 Aug 24  2015 openssl-1.0.1j.tar.gz    #nginx 扩展
-rw-r–r–  1 root root  2009464 Aug 24  2015 pcre-8.36.tar.gz    #支持 nginx 伪静态
-rw-r–r–  1 root root 17514721 Feb 24  2016 php-5.6.3.tar.gz
-rw-r–r–  1 root root  1872534 Feb 24  2016 t1lib-5.1.2.tar.gz    #php 扩展
-rw-r–r–  1 root root  2051630 Feb 24  2016 tiff-4.0.3.tar.gz    #gd 库需要
-rw-r–r–  1 root root  1492156 Feb 24  2016 yasm-1.3.0.tar.gz    #php 扩展
-rw-r–r–  1 root root  571091 Aug 24  2015 zlib-1.2.8.tar.gz    #nginx 扩展
[root@Zabbix_Server Tools]#

安装编译工具及库文件(使用 yum 命令安装)

[root@Zabbix_Server Tools]# yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng* libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libX* libtiff libtiff* make mpfr ncurses* ntp openssl nasm nasm* openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* wget zlib-devel

安装 MySQL

    安装 cmake

[root@Zabbix_Server Tools]# tar zxvf cmake-3.0.2.tar.gz 
[root@Zabbix_Server Tools]# cd cmake-3.0.2
[root@Zabbix_Server cmake-3.0.2]# ./configure 
[root@Zabbix_Server cmake-3.0.2]# make && make install

    安装 MySQL
[root@Zabbix_Server Tools]# groupadd mysql    #添加 mysql 组
[root@Zabbix_Server Tools]# useradd -g mysql mysql -s /bin/false    #创建用户 mysql 并加入到 mysql 组,不允许 mysql 用户直接登录系统 
[root@Zabbix_Server Tools]# mkdir -p /app/data/mysql    #MySQL 数据库存放目录
[root@Zabbix_Server Tools]# chown -R mysql:mysql /app/data/mysql/    #设置 MySQL 数据库存放目录权限
[root@Zabbix_Server Tools]# mkdir /app/mysql    #MySQL 安装目录
[root@Zabbix_Server Tools]# tar zxvf mysql-5.6.21.tar.gz
[root@Zabbix_Server Tools]# cd mysql-5.6.21
[root@Zabbix_Server mysql-5.6.21]# cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql/ -DMYSQL_DATADIR=/app/data/mysql/ -DSYSCONFDIR=/etc/    #配置
[root@Zabbix_Server mysql-5.6.21]# make && make install
[root@Zabbix_Server mysql-5.6.21]# mv /etc/my.cnf{,20160902bak}    #删除或者改名系统默认的配置文件(可能有)
[root@Zabbix_Server mysql]# ./scripts/mysql_install_db –user=mysql –basedir=/app/mysql/ –datadir=/app/data/mysql/    #生成 mysql 系统数据库
[root@Zabbix_Server mysql]# ln -s /app/mysql/my.cnf /etc/my.cnf    #添加到 /etc 目录的软连接
[root@Zabbix_Server mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld    #把 Mysql 加入系统启动
[root@Zabbix_Server mysql]# chmod 755 /etc/rc.d/init.d/mysqld 
[root@Zabbix_Server mysql]# chkconfig mysqld on
[root@Zabbix_Server mysql]# vim /etc/rc.d/init.d/mysqld
basedir=/app/mysql    #MySQL 程序安装路径
datadir=/app/data/mysql    #MySQl 数据库存放目录
[root@Zabbix_Server mysql]# service mysqld start
[root@Zabbix_Server mysql]# vim /etc/profile
export PATH=$PATH:/app/mysql/bin/    #把 mysql 服务加入系统环境变量:在最后添加下面这一行
[root@Zabbix_Server mysql]# source /etc/profile
# 下面这两行把 myslq 的库文件链接到系统默认的位置,这样你在编译类似 PHP 等软件时可以不用指定 mysql 的库文件地址。
[root@Zabbix_Server mysql]# ln -s /app/mysql/lib/mysql /usr/lib/mysql
[root@Zabbix_Server mysql]# ln -s /app/mysql/include/mysql /usr/include/mysql
[root@Zabbix_Server mysql]# mkdir /var/lib/mysql
[root@Zabbix_Server mysql]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
[root@Zabbix_Server mysql]# mysql_secure_installation    #设置 Mysql 密码,根据提示按 Y 回车输入 2 次密码,我这里直接把密码设置成 Zabbix,方便记忆。

安装 Nginx

    安装 pcre
[root@Zabbix_Server mysql]# cd /usr/local/Tools/
[root@Zabbix_Server Tools]# mkdir /app/pcre
[root@Zabbix_Server Tools]# tar zxvf pcre-8.36.tar.gz 
[root@Zabbix_Server pcre-8.36]# ./configure –prefix=/app/pcre/
[root@Zabbix_Server pcre-8.36]# make && make install

    安装 openssl
[root@Zabbix_Server pcre-8.36]# cd ..
[root@Zabbix_Server Tools]# mkdir /app/openssl
[root@Zabbix_Server Tools]# tar zxvf openssl-1.0.1j.tar.gz 
[root@Zabbix_Server Tools]# cd openssl-1.0.1j
[root@Zabbix_Server openssl-1.0.1j]# ./config –prefix=/app/openssl/
[root@Zabbix_Server openssl-1.0.1j]# make && make install
[root@Zabbix_Server openssl-1.0.1j]# vim /etc/profile
export PATH=$PATH:/app/openssl/bin/
[root@Zabbix_Server openssl-1.0.1j]# source /etc/profile

    安装 zlib
[root@Zabbix_Server openssl-1.0.1j]# cd /usr/local/Tools/
[root@Zabbix_Server Tools]# mkdir /app/zlib
[root@Zabbix_Server Tools]# tar zxvf zlib-1.2.8.tar.gz 
[root@Zabbix_Server Tools]# cd zlib-1.2.8
[root@Zabbix_Server zlib-1.2.8]# ./configure –prefix=/app/zlib/
[root@Zabbix_Server zlib-1.2.8]# make && make install

    安装 Nginx

[root@Zabbix_Server zlib-1.2.8]# cd /usr/local/Tools/
[root@Zabbix_Server Tools]# groupadd www
[root@Zabbix_Server Tools]# useradd -g www www -s /bin/false 
[root@Zabbix_Server Tools]# tar zxvf nginx-1.6.2.tar.gz 
[root@Zabbix_Server Tools]# cd nginx-1.6.2
[root@Zabbix_Server nginx-1.6.2]# ./configure –prefix=/app/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/Tools/openssl-1.0.1j –with-zlib=/usr/local/Tools/zlib-1.2.8 –with-pcre=/usr/local/Tools/pcre-8.36
[root@Zabbix_Server nginx-1.6.2]# make && make install
[root@Zabbix_Server nginx-1.6.2]# /app/nginx/sbin/nginx    #启动 nginx 
[root@Zabbix_Server nginx-1.6.2]# ps -ef|grep nginx
root      2477    1  0 17:10 ?        00:00:00 nginx: master process /app/nginx/sbin/nginx
www      2478  2477  0 17:10 ?        00:00:00 nginx: worker process
root      2480  6918  0 17:10 pts/0    00:00:00 grep nginx
[root@Zabbix_Server nginx-1.6.2]#

./configure 时:–with-openssl=/usr/local/src/openssl-1.0.1j –with-zlib=/usr/local/src/zlib-1.2.8 –with-pcre=/usr/local/src/pcre-8.36 指向的是源码包解压的路径,而不是安装的路径,否则会报错
[root@Zabbix_Server nginx-1.6.2]# vim /etc/rc.d/init.d/nginx    #添加 nginx 启动文件 
#!/bin/sh
 
#
 
# 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: /app/nginx/conf/nginx.conf
 
# pidfile: /app/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=”/app/nginx/sbin/nginx”
 
prog=$(basename $nginx)
 
NGINX_CONF_FILE=”/app/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
[root@Zabbix_Server nginx-1.6.2]# chmod 775 /etc/rc.d/init.d/nginx 
[root@Zabbix_Server nginx-1.6.2]# chkconfig nginx on
[root@Zabbix_Server nginx-1.6.2]# /etc/rc.d/init.d/nginx restart
[root@Zabbix_Server nginx-1.6.2]# cp /etc/sysconfig/iptables{,20160902bak}
[root@Zabbix_Server nginx-1.6.2]# vim /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
[root@Zabbix_Server nginx-1.6.2]# /etc/rc.d/init.d/iptables restart

在浏览器中打开服务器 IP 地址,会看到下面的界面,说明 Nginx 安装成功。

CentOS 6.8 编译安装 LNMP 环境

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2017-01/139086p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计25994字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7955333
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...