CentOS 6.6 + LAMP实战 (二)

4、MySQL配置

# service mysqld start <–启动mysql server

MySQL安装以后,默认的配置文件my.cnf是没有什么用的。我们需要从/usr/share/mysql/里面复制一个出来代替它。

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

在/usr/share/mysql/有5个预设的配置文件。分别适用于各种规模的数据库。在配置文件中,分别指明了适用于多大系统内存的服务器使用。具体来说是这样的:

my-small.cnf : 系统内存不超过64MB

my-medium.cnf : 系统内存在64-128MB

my-large.cnf : 系统内存为512MB,服务器主要跑MySQL

my-huge.cnf : 系统内存为1-2GB

my-innodb-heavy-4G.cnf : 系统内存4G

当然这些都是预设的,当你的系统需要在意性能的时候,可以自行去调整。这里我图省事,拷贝一份medium来用。

拷贝完了以后,还有一项工作要做,就是:

# mysql_secure_installation

这个命令做的事情和安全有关:设置root密码(mysql的root帐户,并不是系统的root)、删除匿名账号、禁止root远程登录、删除预置的test数据库和对test库的访问权限。

第一次让你输入密码的时候,因为刚安装没有密码,所以直接回车。然后输入两次root新密码。后面问你yes or no的时候,直接Y+回车就可以。

到这里MySQL的基础设置就完成了,我们执行:

# service mysqld restart

使设置生效。

5、配置Apache

Apache的配置比较复杂,我们先执行:

# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

在Linux中,大量的配置都是用文本文件来做的,比如这个httpd.conf,就是文本的配置文件,类似于Windows下的ini文件。要编辑它,我们用vim。做一个备份,以免改乱了。vim相对于vi来说,门槛降了很多,简单学习一下就可以用了,而且各种发行版基本都有,随手可得。觉得太复杂你也可以yum一个nano来用。

首先看怎么配置只有一个网站的站点:

# vim /etc/httpd/conf/httpd.conf

我们输入276gg,跳转到了276行,ServerName,顾名思义指的就是网站URL地址。比如你的网站域名是www.domain.com,那就改为:

ServerName www.domain.com

前面的#去掉(#是注释符)

在vim中做修改,要先按字母i进入插入状态,修改完了以后按Esc键退出插入状态。

402行:DirectoryIndex,启动页面,用过IIS的应该秒懂,我们加上index.php:

DirectoryIndex index.html index.html.var index.php

292行:DocumentRoot,指的是网站文件的根目录,CentOS 6.6默认的是/var/www/html,你可以自行指定。

修改结束以后我们按冒号键进入指令状态,输入wq,回车。w是保存,q是退出。如果你不想保存,就输入q!,强行退出。

然后照例service httpd restart,这时候你的网站已经可以用了。

如果想在一个VPS里头跑多个网站怎么办呢?用虚拟主机就可以了。

虚拟主机VirtualHost,有几种类型,最常见的是NameVirtualHost,即用不同的域名来进入不同的网站。配置这种多站点环境,我们先导航到990行,把这一行取消注释

NameVirtualHost *:80

*可以改为你VPS的IP地址。

然后参照注释里给的例子,建立VirtualHost

<VirtualHost *:80>

ServerRoot /var/www/html/domain.com

ServerName www.domain.com

ServerAlias domain.com

</VirtualHost>

解释一下:ServerName就是主机头,用来区分应该以哪个虚拟服务器来响应请求。比如你的VPS只有一个IP,但是有两个网站www.a.com www.b.com www.c.com,那么就应该建立三个VirtualHost,ServerName分别是www.a.com www.b.com。通过两个域名访问的都是同一个IP同一个服务器,但是会由不同的虚拟服务器来处理。ServerRoot则是指明这个虚拟服务器的网站文件位置。ServerAlias是指网站的别名。

为求安全起见,在NameVirtualHost *:80后面,我们可以建立一个虚假的VirtualHost,用来防止别人恶意将域名解析到你的服务器上。加上这么一段:

<VirtualHost *:80>

ServerRoot /var/www/html/blank

ServerName a.com

</VirtualHost>

这样就可以防止空主机头访问。

做完了以后,不要忘了service httpd restart

 

Leave a Reply

Your email address will not be published. Required fields are marked *