CentOS6.4-32/64bit(LAMP环境搭建)实战记录

LAPM=Linux+Apache+Php+MySQL
环境准备:卸载已安装的Apache、Php、MySQL
检查当前系统是否已经安装了apache和mysql   


 

 

CentOS6.4-32/64bit(LAMP环境搭建)实战记录

2013116

http://hhrz.us/

参考资料:CentOS6.4-32bit(LAMP环境搭建)学习笔记(小俊工作室提供)

LAPM=Linux+Apache+Php+MySQL

环境准备:卸载已安装的ApachePhpMySQL

检查当前系统是否已经安装了apachemysql

#yum list installed | grep -i httpd

#rpm -qa | grep -i httpd

#yum list installed | grep -i mysql

#rpm -qa | grep -i mysql

***************************************

# rpm -q mysql

mysql-5.1.69-1.el6_4.x86_64

# rpm -q httpd

httpd-2.2.15-26.el6.centos.x86_64

# rpm -q php

php-5.3.3-23.el6_4.x86_64

***************************************

如果已经存在,为避免混乱,请先卸载

$ su -

# yum remove httpd

# yum remove php

# yum remove mysql

一、查看本服务器相关内核信息

# uname -a

Linux CentOS 2.6.32-358.el6.i686 #1 SMP Thu Feb 21 21:50:49 UTC 2013 i686 i686 i386 GNU/Linux (32)

Linux CentOS 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux64位)

用法:uname [选项]

输出一组系统信息。如果不跟随选项,则视为只附加-s 选项。

-n, --nodename 输出网络节点上的主机名

-m, --machine 输出主机的硬件架构名称

-p, --processor 输出处理器类型或"unknown"

-i, --hardware-platform 输出硬件平台或"unknown"

-a, --all 以如下次序输出所有信息。其中若-p -i 的探测结果不可知则被省略:

-s, --kernel-name 输出内核名称

-r, --kernel-release 输出内核发行号

-v, --kernel-version 输出内核版本

-o, --operating-system 输出操作系统名称

--help 显示此帮助信息并退出

--version 显示版本信息并退出

根据上面的信息确定是32(i386)还是64(x86_64)的操作系统

二、安装ApacheMySQLPHP软件:

1、安装Apache

# yum install -y httpd

# rpm -qa | grep http

httpd-tools-2.2.15-29.el6.centos.i686

httpd-2.2.15-29.el6.centos.i686

#rpm -qa |grep -i httpd(64bit)

httpd-tools-2.2.15-29.el6.centos.x86_64

httpd-2.2.15-29.el6.centos.x86_64

# /etc/rc.d/init.d/httpd start  <-- 启动服务

# chkconfig --level 345 httpd on <-- 设为开机345级别自动启动

# chkconfig --list | grep httpd  <-- 显示设置最终结果

httpd 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭

安装Apache扩展

# yum install -y httpd-manual mod_ssl mod_perl

2、安装MySQL

# yum install -y mysql mysql-server

# rpm -qa | grep mysql

mysql-libs-5.1.69-1.el6_4.i686

mysql-server-5.1.69-1.el6_4.i686

mysql-5.1.69-1.el6_4.i686

# rpm -qa | grep mysql (64bit)

mysql-libs-5.1.69-1.el6_4.x86_64

mysql-5.1.69-1.el6_4.x86_64

mysql-server-5.1.69-1.el6_4.x86_64

# service mysqld start  <-- 启动服务

# chkconfig --level 345 mysqld on

# chkconfig --list | grep mysqld

mysqld 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭

mysqlroot用户设置密码

# mysql_secure_installation

根据提示输入相应的信息即可!

# /etc/rc.d/init.d/mysqld restart <-- 重启MySQL

3、安装PHP

# yum -y install php

# rpm -qa | grep php

php-common-5.3.3-23.el6_4.i686

php-5.3.3-23.el6_4.i686

php-cli-5.3.3-23.el6_4.i686

安装相关php组件

# yum -y install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath

# rpm -qa | grep php

php-common-5.3.3-23.el6_4.i686

php-imap-5.3.3-23.el6_4.i686

php-mysql-5.3.3-23.el6_4.i686

php-ldap-5.3.3-23.el6_4.i686

php-5.3.3-23.el6_4.i686

php-pdo-5.3.3-23.el6_4.i686

php-pear-1.9.4-4.el6.noarch

php-odbc-5.3.3-23.el6_4.i686

php-gd-5.3.3-23.el6_4.i686

php-bcmath-5.3.3-23.el6_4.i686

php-xmlrpc-5.3.3-23.el6_4.i686

php-cli-5.3.3-23.el6_4.i686

php-xml-5.3.3-23.el6_4.i686

php-mbstring-5.3.3-23.el6_4.i686

下面的要配合第三方下载源才能下到(rpmforgeepel)参见

# yum install libmcrypt libmcrypt-devel mcrypt mhash mhash

# /etc/init.d/mysqld restart   <-- 重启mysql

# /etc/init.d/httpd restart    <-- 重启Apache

4、小技巧

提示:启httpd服务的时候 显示Could not reliably determine the server`s fully qualified domain name

解决方法:

# vi /etc/httpd/conf/httpd.conf

在命令行中输入"/ServerName"后回车再按n键进行向下查找,找到后在其下一行加入一句 ServerName localhost:80 即可!

三、配置ApacheMySQLPHP

1Apache配置

# vi /etc/httpd/conf/httpd.conf  <-- 打开配置文件

ServerTokens 值改为 Prod (出现错误页的时候不显示服务器操作系统名称)

ServerSignature 值为 Off (错误页中不显示Apache版本)

Options Indexes FollowSymLinks

修改为:

Options Includes ExecCGI FollowSymLinks

(允许服务器执行CGISSI,禁止列出目录)

#AddHandler cgi-script .cgi

修改为:

AddHandler cgi-script .cgi .pl

(允许扩展名为.plCGI脚本运行)

AllowOverride None

修改为:

AllowOverride All

(337,允许.htaccess)

AddDefaultCharset UTF-8 (默认为UTF-8编码,可以修改为GB2312)

Options Indexes MultiViews FollowSymLinks

修改为

Options MultiViews FollowSymLinks

(不在浏览器上显示树状目录结构,大约在554)

DirectoryIndex index.html index.html.var

修改为:

DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var

(设置默认首页文件,增加index.php,约在在402)

⑨ KeepAlive Off 修改为:KeepAlive On (允许程序性联机)

⑩ MaxKeepAliveRequests 100 值修改为1000 (增加同时连接数)

# httpd -t  <-- 检查配置语法是否有错

Syntax OK   <--检查通过

附加内容:Apache的相对结构:

/etc/httpd/conf/httpd.conf:主配置文件,其主要设定以它为主;

/etc/httpd/conf.d/*.conf:额外参数配置,如果你不想修改原始配置文件httpd.conf的话,可以将你自己的设置独立出来,如创建为/etc/httpd/conf.d/child.confApache启动时就被载入;

/usr/lib/httpd/modules/apache支持很多模块,你所想要的模块都放在其中;

/var/www/html/:默认‘首页’所在目录,当你输入http://localhost时所显示资料所在目录;

/var/www/error/:配置错误或浏览器要求资料错误时,浏览器上出现的错误讯息以这个目录预设为主;

/var/www/icons/:它提供 Apache默认给予的一些小图示,你可以随意使用,当你输入http://localhost/icons/时所显示的资料所在;

/var/www/cgi-bin/:默认给一些可执行的CGI(网页程序)程序放置的目录;

/var/log/httpd/:默认的apache登录信息都放在这里,对流量较大的网站,这个目录要小心设置;

/usr/sbin/apachectlapache的主要启动文件,其实是shell script

/usr/sbin/httpdapache的二进制启动文件。

2设置虚拟主机:

这里的虚拟主机,指的是在一部主机上有多个‘主网页’存在,实际这些网址都指向同一个IP

①、先创建所需要的目录

# mkdir /var/www/web

②、直接在目录/etc/httpd/conf.d下建立单独的配置文件web.conf

# cat > /etc/httpd/conf.d/web.conf

输入以下内容:

NameVirtualHost *:80

Options -Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

ServerName      www.web.com

DocumentRoot    /var/www/web

ServerName      www.test.com

DocumentRoot    /var/www/html

注意,使用虚拟主机后,原本主机名称也要写入(上面www.test.com)

# service httpd restart  <-- 重启Apache

附加说明:

httpd.confApache的主要配置文件,但是针对每个目录,apache还允许在它们各自的目录下放置一个叫做.htacess的文件,用于控制这个目录的属性。

通常利用Apacherewrite模块对URL进行重写的时候,rewrite规则会写在.htaccess文件里。但要使apache 能够正常的读 取.htaccess 文件的内容,就必须对.htaccess所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成 “None”,不允许任何Override ,即:

< Directory />

AllowOverride None

< /Directory>

在 AllowOverride 设置为 None 时,.htaccess 文件将被完全忽略。当此指令设置为All时,所有具有“.htaccess” 作用域的指令都允许出现在.htaccess 文件中。

而对于 URL rewrite 来说,至少需要把目录设置为

< Directory /blogRoot/>

AllowOverride FileInfo

< /Directory>

AllowOverride 参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略. htacess文件,如果设置为 All,那么所有在.htaccess文件里有的指令都将被重写。对于AllowOverride,还可以对它指定如下一些能被重写的指令类型.

(1)AuthConfig 允许使用所有的权限指令,他们包括 AuthDBMGroupFile  AuthDBMUserFile  AuthGroupFile  AuthName  AuthTypeAuthUserFile Require

(2)FileInfo 允许使用文件控制类型的指令。它们包括 AddEncoding  AddLanguage  AddType  DEfaultType  ErrorDocument  LanguagePriority

(3)Indexes 允许使用目录控制类型的指令。它们包括 AddDescription  AddIcon AddIconByEncoding AddIconByType DefaultIcon DirectoryIndex FancyIndexing HeaderName IndexIgnore IndexOptions ReadmeName

(4)Limit 允许使用权限控制指令。它们包括Allow DenyOrder

(5)Options 允许使用控制目录特征的指令.他们包括Options XBitHack

Options:

(1)All 准许以下除MultiViews以外所有功能

(2)MultiViews 允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通过/foo来访问到它,这对于一个多语言内容的站点比较有用

(3)Indexes 若该目录下无index文件,则准许显示该目录下的文件以供选择,禁止目录浏览可以删这项或“-Indexes”。

(4)IncludesNOEXEC 准许SSI,但不可使用#exec#include功能

(5)Includes 准许SSI

(6)FollowSymLinks 在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名,如果在标记内设置,该选项会被忽略

(7)SymLinksIfOwnerMatch 在该目录中仅仅跟踪本站点内的链接

(8)ExecCGI 在该目录下准许使用CGI

③、测试

windows下修改C:WINDOWSsystem32driversetchosts文件,添加内容为:

192.168.198.234 www.test.com

192.168.198.234 www.web.com

注意:上面的ip地址就是要访问的服务器的IP地址.

设置虚拟目录

# vi /etc/httpd/conf/httpd.conf <-- 打开配置文件

添加下面的内容:

Alias /virtual "/var/www/virtual/"

#Indexes前,加"+"代表允许目录浏览;加""代表禁止目录浏览

Options -Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

#建立虚拟目录

Alias /YQWapManage "E:/YQMTKBusiness/YQWapManage/"

Options MultiViews

AllowOverride None

Order allow,deny

Allow from all

DirectoryIndex index.html

# httpd -t <-- 检查语法

Syntax OK

# service httpd restart <-- 重启服务器

也可以将虚拟目录配置成单个文件,方便日后管理

# vi /etc/httpd/conf/httpd.conf <-- 打开配置文件

在最底部加入

Include /etc/httpd/vhost/vhost.conf <-- 将配置文件包含进来

# mkdir /etc/httpd/vhost

# cat > /etc/httpd/vhost/vhost.conf

输入上面的内容后回车按ctrl+d结束内容输入

# httpd -t <-- 检查语法

Syntax OK

# service httpd restart <-- 重启服务器

3MySQL配置

/usr/share/mysql/目录下有多个my-开头的cnf文件,选择my-medium.cnf

把它复制到/etc目录里

# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

编辑配置文件

#vi /etc/my.cnf

修改以下配置,在原有的基础上修改,没有的选项就添加

[client]

port = 3306

socket = /var/lib/mysql/mysql.sock

default-character-set = utf8

[mysqld]

user = mysql

datadir = /www/mysql

log-error = /www/log/mysql/mysql_error.log

log-bin=/www/log/mysql/mysql-bin

expire_logs_days7

character-set-server = utf8

--skip-external-locking

4更改数据库目录位置:

# service mysqld stop <--停止MySql服务

# mkdir /MySQL_Data <-- 创建存储数据库目录

# mv /var/lib/mysql /MySQL_Data/ <--将数据移到到新目录里

# vi /etc/my.cnf <--第一个文件

[mysqld]

#datadir=/var/lib/mysql

datadir=/MySQL_Data/mysql <--修改

#socket=/var/lib/mysql/mysql.sock

socket=/MySQL_Data/mysql/mysql.sock <--修改

# vi /etc/rc.d/init.d/mysqld <--第二个文件

get_mysql_option mysqld datadir "/var/lib/mysql"

改为:

get_mysql_option mysqld datadir "/MySQL_Data/mysql"

# vi /usr/bin/mysqld_safe <--第三个文件

DATADIR=/var/lib/mysql

改为:

DATADIR=/MySQL_Data/mysql

# service mysqld start  <-- 启动MySQL服务

# ln -s /MySQL_Data/mysql/mysql.sock  /var/lib/mysql/mysql.sock  <-- 建立一个mysql.sock的软件连接

# ps aux | grep mysql <-- 检测设置数据库目录是否正确

更改数据库目录的权限

# chown -R mysql:mysql /MySQL_Data/mysql/

若存在test目录,则进行如下设置

# chmod 700 /MySQL_Data/mysql/test/

# chmod 660 /MySQL_Data/mysql/test/*

5MySQL开启远程登录

若其它机器访问数据库端口3306时发生如下错误提示:

is not allowed to connect to this MySQL server

解决方法:

①改表法

# mysql -uroot -p <--输入帐号信息进入mysql控制台

mysql> show dtabases

mysql> use mysql

mysql> select host,user from user;

+-----------+------+

| host      | user |

+-----------+------+

| 127.0.0.1 | root |

| CentOS    | root |

| localhost | root |

+-----------+------+

3 rows in set (0.00 sec)

mysql> update user set host='%' where user='root';

mysql> select host,user from user;

+-----------+------+

| host      | user |

+-----------+------+

| %         | root |

| 127.0.0.1 | root |

| CentOS    | root |

+-----------+------+

3 rows in set (0.00 sec)

mysql> flush privileges;

mysql> exit

Bye

②授权法

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户myuserip192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION;

6PHP配置

# vi /etc/php.ini   <-- 打开配置文件

date.timezone= 值为 PRC (去掉前面的分号)

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可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用)

expose_php = On 改为 Off (禁止显示php版本的信息)

magic_quotes_gpc=Off 改为 On (打开来防止SQL注入)

short_open_tag = Off 改为 On (支持php短标签)

四、配置防火墙

# vi /etc/sysconfig/iptables

添加以下内容(增加803306端口):

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重启防火墙使配置生效:

# /etc/rc.d/init.d/iptables restart

查看状态:

# /etc/rc.d/init.d/iptables status

五、关闭 SELINUX

# vi /etc/selinux/config

把下面两项注释掉

#SELINUX=enforcing   #注释掉

#SELINUX=targeted    #注释掉

SELINUX=disabled     #增加

重启系统:

#reboot

六、安装phpMyAdmin

1yum安装

phpMyAdmin是一个网络接口,通过它可以管理你的MySQL数据库。

首先,我们使CentOS系统RPMForge软件库的phpMyAdmin,而不是官方的CentOS 6.2库:所以需要导入RPMForgeGPG密钥:

# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

x86_64系统:

# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

i386系统:

# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

安装phpmyadmin

# yum install -y phpmyadmin

更改配置文件

# vi /etc/httpd/conf.d/phpmyadmin.conf

更改如下:

Order Deny,Allow

#Deny from all

#Allow from 127.0.0.1

Allow from all

# vi cd /usr/share/phpmyadmin/config.inc.php

/* $cfg['Servers'][$i]['auth_type'] = 'cookie';*/

$cfg['Servers'][$i]['auth_type'] = 'http'; <-- 改为http身份验证

# httpd -t <-- 检查语法

Syntax OK

# service httpd restart

停止 httpd[确定]

正在启动 httpd[确定]

输入地址

http://ip地址/phpmyadmin/

2编译安装

从网上下载安装包phpMyAdmin-3.1.1-all-languages.tar.gz

将其解压到网站根目录下

# tar -zxvf phpMyAdmin-3.1.1-all-languages.tar.gz -C /var/www/html/

# cd /var/www/html/

# mv phpMyAdmin-3.1.1-all-languages.tar.gz  phpmyadmin  //更改文件夹名

# vi /phpmyadmin/libraries/config.default.php

修改以下内容:

$cfg['Servers'][$i]['host'] = 'localhost';   localhost 改为 127.0.0.1

$cfg['Servers'][$i]['auth_type'] = 'cookie'; 认证方法由 cookie 改为 http

$cfg['blowfish_secret'] = '';  如果认证方法设置为cookie,就需要设置短语密码

七、Centos6.0使用第三方YUM源(EPELRPMForgeRPMFusion

yumcentos下很方便的rpm包管理工具,配置第三方软件库使你的软件库更加丰富。以下简单的讲下配置的步骤。

7.1设置yum源优先级,安装yum-priorities

首先,需要安装yum-priorities插件:

yum install yum-priorities –y

该插件的作用主要是设置调用源时的优先级的,一般将官方的优先级设置为最高

编辑CentOS-Base.repo 文件,用vi编辑  ,如果不会操作,请百度vi

vi /etc/yum.repos.d/CentOS-Base.repo

在每个[]段的最后加上priority=[]字段来设置每个镜像的优先级,1为最高,99为最低。

一般的配置为: [base], [updates], [extras] … priority=1
[CentOSplus],[contrib] … priority=2

然后保存

7.2下载与安装相应 EPEL rpm 文件包

安装epel.repo,下载地址为 http://download.fedora.redhat.com/pub/epel/6/找与自己系统版本相符的包 ,如,64位的http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/

rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-5.noarch.rpm     32

rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

64

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

vi /etc/yum.repos.d/epel.repo

设置 /etc/yum.repos.d/epel.repo 中源的级别为 priority=11(比上面高就行)。

7.3、下载与安装相应 rpmforge rpm 文件包

安装rpmforge.repo,下载地址为 http://pkgs.repoforge.org/rpmforge-release/ 找与自己系统版本相符的包

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm    32

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm 64

wget  http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

rpm -import RPM-GPG-KEY.dag.txt

或者    rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

rpm -K rpmforge-release-0.5.2-2.el6.rf.i686.rpm  32位  检查安装文件

rpm -K rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm  64位  检查安装文件

rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm     32位   安装程序

rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm    64位   安装程序

vi /etc/yum.repos.d/rpmforge.repo

设置 /etc/yum.repos.d/rpmforge.repo 文件中源的级别为 priority=12(比上面高就行)。

7.4、下载与安装相应rpmfusionrpm 文件包

安装rpmfusion.repo,下载地址为 http://download1.rpmfusion.or

32位安装

rpm -ivh http://download1.rpmfusion.org/free/el/updates/testing/6/i386/rpmfusion-free-release-6-0.1.noarch.rpm

rpm -ivh http://download1.rpmfusion.org/nonfree/el/updates/testing/6/i386/rpmfusion-nonfree-release-6-0.1.noarch.rpm

64位安装

rpm -ivh http://download1.rpmfusion.org/nonfree/el/updates/testing/6/x86_64/rpmfusion-nonfree-release-6-0.1.noarch.rpm

rpm -ivh http://download1.rpmfusion.org/nonfree/el/updates/testing/6/x86_64/rpmfusion-nonfree-release-6-0.1.noarch.rpm

vi /etc/yum.repos.d/rpmfusion-free-updates.repo

vi /etc/yum.repos.d/rpmfusion-free-updates-testing.repo

vi /etc/yum.repos.d/rpmfusion-nonfree-updates.repo

vi /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo

设置 文件中源的级别为 priority=13(比上面高就行)

yum check-update

会载入yum-priorities插件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值