摘要:写在前面本学期软件工程课程,老师要求我们写一个大作业,我们小组选择做一个资源分享的网站平台。工具选择开发最重要的准备工作就是环境搭建,我们小组本次选择使用开发这个网站,并且将网站部署在机上。安装一个虚拟机后在虚拟机上安装和环境。
写在前面
本学期软件工程课程,老师要求我们写一个大作业,我们小组选择做一个资源分享的网站平台。现在工作已经结束,我打算从头开始回顾,并将其过程写为多篇连载的博客。
工具选择
开发最重要的准备工作就是环境搭建,我们小组本次选择使用apache+mysql+php开发这个网站,并且将网站部署在Linux机上。所以我们需要准备的东西有:VMware虚拟机、Centos7镜像文件。安装一个centos虚拟机后在虚拟机上安装apache、mysql和php环境。(ps:亲身实践,感觉VMware比virtual box好用)
安装过程
现在我的pc上已经安装好了一个centos7的虚拟机(具体过程可以搜索教程)
现在打开虚拟机,我的虚拟机上只添加了一块硬盘(20G,建议大一点,后来我安装mysql时发现硬盘空间不够用又加了一块20G硬盘,具体什么东西占用了我的空间我还没找到),分为两个分区(swap交换分区,大小4G,剩下的空间全部设为根分区,其中根分区挂载到了根目录下)。首先在根目录下创建一个web目录,作为apache、mysql、php源代码存放路径,因为我将要使用源代码方式安装这三个软件。
apache的安装使用源代码方式安装的不好之处在于,需要自己解决软件安装过程中的全部依赖,而且下载源代码包解压缩后需要经过编译才能安装,好处在于可以自己进行一些配置。我之所以选择源代码安装方式是因为后面涉及到php的扩展时需要源代码。
那么安装apache之前我们需要获取apache和其依赖软件的源代码:
1. apache2.4: wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.37.tar.gz 2. apr-1.6.5.tar.gz:http://www.apache.org/dist/apr/ 3. apr-util-1.6.1.tar.gz:http://www.apache.org/dist/apr/ 4. pcre-8.42.tar.gz:wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
第一个和第四个在虚拟机终端中直接输入该命令即可下载,第二个和第三个需要到这个网站中去下载。不管怎么样,将下载得到四个压缩包都放入根目录下的web目录中,然后准备一一安装。
apr依赖的安装:进入/web目录
tar -zxvf apr-1.46.tar.gz cd apr-1.46 ./configure --prefix=/usr/local/apr #生成makefile编译文件 make #编译源代码 make install #安装
在生成编译文件或编译源代码的时候,可能会报错,告诉我们gcc没有安装,此时安装一下gcc即可,虽然我们不用yum安装apache,但是可以用它来安装其他依赖文件,这样对我们的apache源码没有什么影响。
yum install gcc* #安装gcc
apr-util依赖的安装:回到/web目录
tar -zxvf apr-util-1.5.1.tar.gz cd apr-util-1.5.1 ./configure --with-apr=/usr/local/apr make make install
编译过程中可能会出现这个错误:xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
只需要安装expat-devel就行了
yum install expat-devel
prec依赖的安装
tar -zxvf pcre-8.32.tar.gz cd pcre-8.32 ./configure --prefix=/usr/local/pcre(此处出现configure: error: You need a C++ compiler for C++ support sudo yum install gcc-c++) #由于之前安装过gcc,所以不会出现这个错误 make make install
apache安装
tar -zxvf httpd-2.4.37.tar.gz cd httpd-2.4.37 ./configure --prefix=/usr/local/apache24 --enable-so --with-apr=/usr/local/apr/ --with-apr-til=/usr/local/apr/ --with-pcre=/usr/local/pcre/ make make install
如果进行make编译的时候,出现这个错误:/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode",是由于缺少xml的相关支持,使用yum安装对应的依赖即可
①安装libxml2-devel [root@test_01 ~]# yum install -y libxml2-devel ②删除apr-util目录并且重新编译安装(将/web目录下的apr-util删除,重新解压缩编译) ③重新编译安装httpd,成功解决。
apache已经安装完成(如果编译安装过程出现其他错误,我也不知道该怎么办,因为我没有遇到),那么接下在就是开启apache服务,配置apache的配置文件。
开启apache服务:apache的服务程序是/usr/local/apache24/bin的httpd,双击httpd即可开启apache服务,当然使用图形界面并不是Linux系统的风格,甚至当租用服务器时,根本就没有图形界面。那么如何通过终端操作开启apache服务呢?
[root@bogon ~]cd /usr/local/apache24/bin [root@bogon bin] ./apachectl start #开启apache服务 [root@bogon bin] lsof -i:80 #查询80端口是否被httpd服务占用 [root@bogon bin] ./apachectl stop #关闭apache服务
这样的话,每一次启动服务都必须执行复杂的命令,有一种方法可以将apache服务加入系统服务之后使用service httpd start即可开启服务,这种方式这里不做介绍。
接下来在浏览器中访问apache服务,打开firefox在地址栏输入:localhost,如果可以看到It works即表示服务启动成功。
apache的配置文件
apache配置文件的路径:/usr/local/apache24/conf/httpd.conf
需要配置apache的web站点路径、apache的端口号(默认为80端口,可以不用改)
#配置web站点 vim /usr/local/apache24/conf/httpd.conf #找到DocumentRoot,将这个路径修改为你的web站点路径,同时下面的Directory标签也需要做相应的修改 #我将web项目放在第二块硬盘上,也就是/mnt目录下,项目名为tshare Docuement "/mnt/tshare"mysql的安装
因为mysql被收购了,所以centos7中不在集成mysql了,而是集成mariadb,所以需要先卸载mariadb
卸载mariadb
#列出安装的mysql。 rpm -qa | grep mariadb ###显示mariadb-libs-5.5.56-2.el7.x86_64 #卸载 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 ####会报如下错误 error: Failed dependencies: libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64 libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64 #强制卸载 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 #检查是否有遗留文件。如果有删除即可。 ls /etc/my.cnf ll /var/lib/mysql/ ll /var/lib64/mysql(64位)
mysql和boost下载
mysql源代码下载网址:https://dev.mysql.com/downloa...
在Select Operationg System中选择Source Code;
在下面的Select OS Version选择Generic Linux(Architecture Independent);
然后再下面的部分可以看到Compressed TAR Archive,单击后面的Download;
在弹出的界面中选择最下面的No thanks, just start my download就可以开始下载了。
mysql依赖软件boost下载网址:http://www.boost.org/users/do... 。
我选择的是8.0.16版本的额mysql,与其对应的boost是1.69.0版本,如果你的mysql跟我的版本不一样,在后面cmake编译mysql的时候会提示你应该使用哪个版本的boost。
将下载得到的mysql源码和boots源码复制到/web目录下
使用yum安装其他的依赖项:yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel
解压缩mysql和boots
cd /web tar -zxvf mysql-8.0.16.tar.gz #解压缩mysql源码包 mv boost_1_69_0.tar.gz mysql-8.0.16 #将boost移动到解压后的mysql目录中 cd mysql-8.0.16 #进入mysql解压目录 tar -zxvf boost_1_69_0.tar.gz #解压boost mkdir configure #创建cmake编译目录
编译安装mysql
cd configure #进入cmake编译目录 #下面这么多行属于同一条指令里面的(#是注释,不需要) cmake .. -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=STANDALONE -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_DTRACE=OFF -DWITH_EMBEDDED_SERVER=OFF -DWITH_INNODB_MEMCACHED=ON -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_PAM=ON -DCMAKE_INSTALL_PREFIX=/var/mysql/ -DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EDITLINE=bundled -DFEATURE_SET=community -DCOMPILATION_COMMENT="MySQL Server (GPL)" -DWITH_DEBUG=OFF -DWITH_BOOST=..
最后一个参数“-DWITH_BOOST”的值表示boost所在的目录,如果按上面的步骤来,此处不用修改(但是如果你发现还是报错的话,那最好把这里改为绝对路径),你可以把boost解压到其他目录然后在此处写上路径。
当然编译过程不可能这么顺利,首先需要面对的问题就是cmake的版本问题,如果编译出错并且告诉你需要高版本的cmake,那么你需要去下载高版本cmake然后安装,
安装cmake3(需要GCC的支持,如果没有GCC,可以先yum install gcc*安装gcc)
地址:https://cmake.org/files/v3.10...
[root@localhost ~]# tar -zxvf cmake-3.10.2.tar.gz [root@localhost ~]# cd cmake-3.10.2 [root@localhost cmake-3.10.2]# ./bootstrap --prefix=/usr/local [root@localhost cmake-3.10.2]# gmake [root@localhost cmake-3.10.2]# make install
解决cmake版本问题后,再次使用cmake编译,如果报错告诉你/usr/bin/cmake不存在,那么你就写上cmake的绝对路径。之后再次cmake编译,可能会出现GCC版本问题,centos使用yum安装的gcc是4.8版本的,编译mysql-8.0.16时需要5.3版本的gcc,需要下载devtoolset来安装高版本gcc。
安装devtoolset和5.3版本gcc
yum install centos-release-scl-rh centos-release-scl yum check-update yum install devtoolset-4-gcc devtoolset-4-gcc-c++ source /opt/rh/devtoolset-4/enable gcc -v #查看gcc版本
在此终端查看gcc版本为5.3,但是其他终端查看你的gcc版本仍为4.8(我没有研究是什么原因),所以不要关闭这个终端,我们就在这个终端下编译mysql。再次使用cmake编译,如果出现“Cannot find appropriate system libraries for WITH_SSL=system”、“CMake Error at cmake/ssl.cmake:68 (MESSAGE):Please install the appropriate openssl developer package.”这样的错误,那么需要安装ssl(yum install ncurses-devel 和 yum install openssl-devel)
再次执行cmake编译
/usr/local/bin/cmake .. -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=STANDALONE -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_DTRACE=OFF -DWITH_EMBEDDED_SERVER=OFF -DWITH_INNODB_MEMCACHED=ON -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_PAM=ON -DCMAKE_INSTALL_PREFIX=/var/mysql/ -DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EDITLINE=bundled -DFEATURE_SET=community -DCOMPILATION_COMMENT="MySQL Server (GPL)" -DWITH_DEBUG=OFF -DWITH_BOOST=/usr/local/boost
我把新的cmake3安装在/usr/local/bin/,所以最开始使用这个路径下的cmake,由于我最开始下载的是boost-1.70版本,所以后来重新下载了一个1.69版本的,把它放在了/usr/local目录下,所以最后的-DWITH_BOOST的值设为了这个(如果你一开始就下载的1.69版本的boost,那么就没必要修改这个值)。这些错误解决后我没有遇到其他的错误了,那么最后的编译结果如下:
能看到这两个“done”表示我们cmake编译成功了(实际上是生成了Makefile编译文件)。
在当前目录下使用make命令进行编译(编译过程很慢,不要着急,可能得花几个小时)
安装mysql:执行make install(由于磁盘空间不够了,所以我删除了apache以及它的宜依赖文件的源代码还给虚拟机加了一块20G硬盘挂载到/mnt目录上,新添加的硬盘用于之后可能用到的软件,php、mysql、apache都放在第一块硬盘),记住只能删源代码包,/usr/local/apr和/usr/local/pcre都不能删,如果觉得源代码安装麻烦,可以使用yum安装,因为apache和mysql的源代码并不重要,我这里是为了体验一下编译安装。
mysql安装就完成了,接下来配置mysql用户以及日志文件
useradd -s /sbin/nologin mysql #添加名为mysql的用户 #创建mysql的数据和日志目录,考虑到第一块硬盘空间不够,所以将数据文件放在第二块硬盘上。 #mkdir不能创建多层目录,需要分开创建 mkdir /mnt/mysql_data mkdir /var/mysql/log chown -R mysql:mysql /mnt/mysql_data/ chown -R mysql:mysql /var/mysql/log
修改配置文件
vim /etc/my.cnf #输入如下内容 [mysqld] port=3306 datadir=/mnt/mysql_data log_error=/var/mysql/log/error.log basedir=/var/mysql #basedir只能是这个目录,因为mysql启动时需要/var/mysql/bin/mysqld_safe文件
初始化数据库
/var/mysql/bin/mysqld --initialize --user=mysql
查看数据文件是否生成、查看日志文件是否生成
ll /mnt/mysql_data #显示如下内容 -rw-r-----. 1 mysql mysql 56 May 28 08:04 auto.cnf -rw-------. 1 mysql mysql 1676 May 28 08:04 ca-key.pem -rw-r--r--. 1 mysql mysql 1112 May 28 08:04 ca.pem -rw-r--r--. 1 mysql mysql 1112 May 28 08:04 client-cert.pem -rw-------. 1 mysql mysql 1680 May 28 08:04 client-key.pem -rw-r-----. 1 mysql mysql 5284 May 28 08:05 ib_buffer_pool -rw-r-----. 1 mysql mysql 12582912 May 28 08:05 ibdata1 -rw-r-----. 1 mysql mysql 50331648 May 28 08:05 ib_logfile0 -rw-r-----. 1 mysql mysql 50331648 May 28 08:04 ib_logfile1 drwxr-x---. 2 mysql mysql 4096 May 28 08:05 #innodb_temp drwxr-x---. 2 mysql mysql 4096 May 28 08:04 mysql -rw-r-----. 1 mysql mysql 24117248 May 28 08:05 mysql.ibd drwxr-x---. 2 mysql mysql 4096 May 28 08:04 performance_schema -rw-------. 1 mysql mysql 1676 May 28 08:04 private_key.pem -rw-r--r--. 1 mysql mysql 452 May 28 08:04 public_key.pem -rw-r--r--. 1 mysql mysql 1112 May 28 08:04 server-cert.pem -rw-------. 1 mysql mysql 1676 May 28 08:04 server-key.pem drwxr-x---. 2 mysql mysql 4096 May 28 08:04 sys -rw-r-----. 1 mysql mysql 10485760 May 28 08:05 undo_001 -rw-r-----. 1 mysql mysql 10485760 May 28 08:05 undo_002 ll /mnt/mysql/log #显示如下内容 -rw-r-----. 1 mysql mysql 1091 May 28 08:04 error.log
配置mysql启动文件
#将/var/mysql/support-files/mysql.server复制到/etc/init.d下并重命名为mysqld cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld #修改mysqld中的basedir和datadir为上面你设置的目录 vim mysqld
启动服务
/etc/init.d/mysqld start #可以增加环境变量使得在任何路径下都能启动服务,此处不做介绍
登录mysql
#第一次登录mysql时有一个默认密码,可以查看 cat /var/mysql/log/error.log |grep "A temporary password" #显示如下一行内容,其中“:”后面的就是密码即密码为“=?Jj.HhPk8hW” 2019-05-28T11:01:46.013790Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: =?Jj.HhPk8hW #登录mysql,由于/usr/bin并没有mysql命令,所以使用绝对路径/var/mysql/bin/mysql登录,然后输入密码 /var/mysql/bin/mysql -uroot -p #修改密码,将your_password替换为你的密码即可 alter user "root"@"localhost" identified by "your_password"; #退出重新登录,确认密码修改完成 exit /var/mysql/bin/mysql -uroot -pphp安装
php源代码下载:php官网下载,我选择了php-7.3.5版本(php-7.3.5.tar.gz)
将下载得到的压缩包移动到/web目录下进行解压缩,这个源代码即使在编译安装完后也不要删,后面会需要它内部的扩展文件
cd /web tar -zxvf php-7.3.5.tar.gz cd php-7.3.5 #下面这么多行为一条命令,和mysql编译时差不多,此处开启了php的一些扩展,例如zip、mysqli ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache24/bin/apxs --with-config-file-path=/etc/php.ini --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
第一行的--prefix设置的是php的安装路径,最好放在usr/local下
第二行的--with-apxs2的值如果是按照前面我的方式安装的apache,那么这个值是对的,如果你是用其他方式安装的apache,那么你需要找到它的安装目录下的apxs文件
第三行的--with-config-file-path的值是设置php.ini的路径,方便配置php
ps:在执行./configure命令生成php的编译文件时,如果缺少某些依赖项,而需要编译安装(如下面的curl和libzip安装等等),请重新开一个终端,在/web目录下安装这些依赖项,千万不要在php编译目录下安装这些依赖
执行./configure时如果出现“checking for cURL 7.15.5 or greater... configure: error: cURL version 7.15.5 or later is required to compile php with cURL support”错误,则说明curl版本低,需要安装高版本。
wget https://curl.haxx.se/download/curl-7.20.0.tar.gz #获取curl源代码包 tar -zxvf curl-7.20.0.tar.gz #解压缩 cd curl-7.20.0 ./configure --prefix=/usr/local/curl #生成Makefile文件,并将安装目录设置为/usr/local/curl make #编译 make install #安装
重新执行./configure命令,此时需要修改一下第三行的--with-curl的值为/usr/local/curl
./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache24/bin/apxs --with-config-file-path=/etc/php.ini --with-curl=/usr/local/curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
如果有“configure: error: png.h not found.”的错误信息,说明libpng以及devel没有安装,安装即可
yum install libpng yum install libpng-devel
再次执行./configure命令,如果出现“configure: error: freetype-config not found.”错误,执行yum install freetype-devel命令安装即可。
而后再次执行./configure命令,如果出现“configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution”错误,执行yum -y install libxslt libxslt-devel命令安装即可。
而后再次执行./configure命令,如果出现“configure: error: Please reinstall the libzip distribution”错误,则需要安装libzip-devel,执行yum install libzip-devel命令安装即可。
再次执行./configure命令,提示libzip版本过低,下载编译安装高版本libzip
yum remove libzip -y #删除旧版本libzip wget https://nih.at/libzip/libzip-1.2.0.tar.gz tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make && make install
再次执行./configure命令,如果出现“configure: error: off_t undefined; check your library configuration”错误,则修改一下指定文件
vim /etc/ld.so.conf #添加如下几行 /usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64 #保存退出 :wq ldconfig -v # 使之生效
再次执行./configure,执行成功(可能会有一个警告信息,可以不用管,也可以把它指定的扩展项删除,重新执行一次./configure)
最后执行编译和安装
make #编译 make test make install
如果make的时候,出现zipconf.h找不到错误,则把/usr/local/lib/libzip/zipconf.h移动到指定文件夹。
执行php -v命令查看php版本,如果能够看到php 7.3.5则表示php已经安装成功(如果提示php is not command则表示没有配置php的环境变量,此时只能用usr/local/php7/bin/php才能调用php命令,不过这个命令我们也不常用,可以不配置)
#查看php版本 .usr/local/php7/bin/php -v
设置php.ini的路径
php.ini是php的配置文件,可以在apache的httpd.conf中设置这个文件的路径
vim /usr/local/apache24/conf/httpd.conf #在最后加入下面这一行 PHPIniDir /etc/php.ini
然后在源代码目录/web/php-7.3.5/build目录下找到php.ini-development,复制到/etc下并重命名为php.ini
cp /web/php-7.3.5/build/php.ini-development /etc/php.iniapache和php测试
之前我们在apache配置文件中将web站点设在了/mnt/tshare,现在我们进入这个目录,新建一个index.php
cd /mnt/tshare vim index.php #开始编辑 #保存退出 :wq #重启apache服务,然后访问:localhost/index.php /usr/local/apache24/bin/apachectl restart
如果浏览器没有解析php代码,而是将代码打印出来了,说明apache配置不完善
#配置httpd.conf vim /usr/local/apache24/conf/httpd.conf #找到标签 #插入如下两句 AddType application/x-httpd-php .html .htm .php AddType application/x-httpd-php-source .phps #保存退出并重启apache服务,再次访问浏览器,就能看到php.ini中的配置信息了
“Loaded Configuration File”表示实际加载的php.ini文件,也就我们在httpd.conf中设置的路径
总结部分主要讲安装过程时需要哪些依赖,安装过程中遇见了哪些错误
apache
依赖:apr、apr-util、pcre 错误:/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode"
mysql
依赖:卸载mariadb、cmake、boost 错误: cmake版本过低 gcc版本过低 “Cannot find appropriate system libraries for WITH_SSL=system” “CMake Error at cmake/ssl.cmake:68 (MESSAGE):Please install the appropriate openssl developer package.”
php
依赖:无 错误: “checking for cURL 7.15.5 or greater... configure: error: cURL version 7.15.5 or later is required to compile php with cURL support” “configure: error: png.h not found.” “configure: error: freetype-config not found.” “configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution” “configure: error: Please reinstall the libzip distribution” “configure: error: off_t undefined; check your library configuration”
如果是第一自己配置环境,建议使用我这种方式一步一步来,如果使用rpm或者yum方式安装,可能之后你会有很多东西自己涨不到位置。一键安装虽然好,但是初学时不建议使用。
下一篇博客地址:Tshare校园资源分享平台(网站开发二之主机浏览器访问虚拟机apache)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/31596.html
摘要:上一篇博客地址校园资源分享平台网站开发一之环境搭建回顾上一篇博客我们已经在一个虚拟机上搭建好了的环境,并且在虚拟机的浏览器中成功的访问到了站点中的。下一篇博客地址校园资源分享平台网站开发三之数据库连接 上一篇博客地址:Tshare校园资源分享平台(网站开发一之环境搭建) 回顾 上一篇博客我们已经在一个虚拟机上搭建好了apache+mysql+php的环境,并且在虚拟机的浏览器中成功的访...
阅读 2046·2021-11-23 09:51
阅读 3676·2021-10-20 13:49
阅读 1684·2021-09-06 15:13
阅读 1797·2021-09-06 15:02
阅读 3054·2021-09-02 15:11
阅读 872·2019-08-29 15:37
阅读 1718·2019-08-29 13:24
阅读 2257·2019-08-29 11:28