Linux架设支持Mysql的动态Web服务器

2016-02-19 16:09 3 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享Linux架设支持Mysql的动态Web服务器吧。

【 tulaoshi.com - 编程语言 】

  本文是笔者在Linux服务器上安装PHP动态Web服务器、Mysql数据库的安装配置手册。通过在服务器安装Apache、Mysql、PHP 等功能实现一个建立一个PHP全动态的Web站点。本文是以Redhat9.0 Linux作为操作系统平吧, Apache版本是1.3.29;数据库 Mysql的牌本是3.23.58、PHP的版本是4.3.4!

  Linux系统的安装在此不在讨论,本文是以Redhat 9.0最小化安装加上内核开发包的基本上进行配置安装的。对于其它安装有apache,mysql和php以及相关的软件。已经安装的请用rpm -e * 删除已经安装的包。

  1.安装Mysql3.23.58

  其实老实说直接安装Mysql官方网站提供的rpm包也是一个比较可行的办法,他的官方网站的rpm包的提供基本跟tar包发行是同步的,这点我比较喜欢,至少安装rpm包的在后面的调试中不会出现mysql库文件找不到的情况。但这里还是有必要讲一下自定义安装的步骤,毕竟网友自定义安装的还说挺多的。

  软件获取:www.mysql.com/downloads/index.html

  安装步骤:

  tar zxvf mysql-3.23.58.tar.gz

  cd mysql-3.23.58

  ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql

  make

  make install

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  #prefix=/usr/local/mysql mysql安装的目标目录

  #sysconfdir=/etc my.ini配置文件的路径

  #localstatedir=/var/lib/mysql 数据库存放的路径

  安装完以后要初始化数据库,当然你是升级的话不用做这步;

  /usr/local/mysql/bin/mysql_install_db

  如果系统没有mysql这个用户的话,最好做以下这步:

  useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql

  然后我启动mysql

  /usr/local/mysql/bin/safe_mysqld &

  ok,先看看mysql能否正常工作

  mysql -uroot mysql

  一般情况下都是不能正常链接数据库,错误提示一般为:

  ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

  其实网上大家问的最多的都是整个问题,说什么链接不到mysqld.sock,其实大家不妨看看mysql的错误日志就明白怎么回事,我这里的错误日志是在

  /var/lib/mysql/*.err 你会发现mysql只所以不能启动,是因为/var/lib/mysql的权限不允许mysql服务访问,英文mysql默认是调用mysql用户来启动服务的,好了,既然知道是什么原因找到不能启动,那就简单了。我们只要

  chown -R mysql:mysql /var/lib/mysql 就行,如果还是启动不了,再慢慢调试权限,反正一般启动不了都是权限的问题。

  如果大家还是不能启动不了的话,那就用我的比较繁琐的权限的设置,反正我每次都是这么做的,一般不会有问题,见下:

  chown -R root /usr/local/mysql

  chgrp -R mysql /usr/local/mysql

  chown -R root /usr/local/mysql/bin

  chgrp -R mysql /usr/local/mysql/bin

  chgrp -R mysql /var/lib/mysql

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  chmod 777 /var/lib/mysql

  chown -R root /var/lib/mysql/mysql

  chgrp -R mysql /var/lib/mysql/mysql

  chmod 777 /var/lib/mysql/mysql

  chown -R root /var/lib/mysql/mysql/*

  chgrp -R mysql /var/lib/mysql/mysql/*

  chmod 777 /var/lib/mysql/mysql/*

  chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a

  做完上面的步骤,然后把你编译目录的一个脚本COPY过去

  cp support-files/mysql.server /etc/rc.d/init.d/mysqld

  chkconfig --add mysqld

  用ntsysv设置使mysql每次启动都能自动运行。

  好了,至此mysql安装完毕,你可以这样起动你的mysql服务

  /etc/rc.d/init.d/mysqld start

  下面这步比较关键,

  ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

  ln -s /usr/local/mysql/include/mysql /usr/include/mysql

  大家可以不做这步,大可以在编译其他软件的时候自定义myslq的库文件路径,但我还是喜欢把库文件链接到默认的位置,这样你在编译类似PHP,Vpopmail等软件时可以不用指定mysql的库文件地址。

  2.安装Apache1.3.29

  在这里,笔者由于某些原因,没有选择最新的Apache2.0,当然大家可以自己选择安装相应的版本,安装方式类似。我这里讲的都是采用DSO动态编译的方法编译Apache。

  软件获取:httpd.apache.org/

  tar zvxf apache_1.3.29.tar.gz

  cd apache_1.3.29

  修改src/include/httpd.h 增大最大线程数

  #define HARD_SERVER_LIMIT 256

  改成

  #define HARD_SERVER_LIMIT 2560

  保存退出编译apache

  ./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite --enable-shared=max --htdocsdir=/var/www &&

  make &&

  make install

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  #这里我们通过enable-module参数告诉设置脚本,我们需要启动so和rewrite模块,so模块是用来提DSO支持的 apache核心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进 apache,以后需要用到时需要重新编译整个apache才可以实现。为此除非你可以确定以后不会用到rewrite模块,否则还是建议你在第一次编译的时候把rewrite模块编译好。

  enable-shared=max 这个参数的作用时编译apache时,把除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内。

  好了安装apache很简单的哦,启动apache看看

  /usr/local/apache/bin/apachectl start

  然后用ie看你的服务器地址。应该能看到熟悉的apache羽毛标志。

  3.安装PHP4.3.4

  软件获取:www.php.net/downloads.php

  tar zvxf php-4.3.4.tar.gz

  cd php-4.3.4

  ./configure

  --prefix=/usr/local/php

  --with-mysql=/usr/local/mysql

  --enable-force-cgi-redirect

  --with-freetype-dir=/usr

  --with-png-dir=/usr

  --with-gd --enable-gd-native-ttf

  --with-ttf

  --with-gdbm

  --with-gettext

  --with-iconv

  --with-jpeg-dir=/usr

  --with-png

  --with-zlib

  --with-xml

  --enable-calendar

  --with-apxs=/usr/local/apache/bin/apxs

  make

  make install

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  #我这里由于服务器需要用到GD库,所以加了一些支持GD的编译参数,GD直接用了redhat自带的GD库,大家没有安装的话可以从安装盘安装,注意除了安装GD以外,还要安装libjpeg,libpng等库文件。另外--with-mysql=/usr/local/mysql指向你安装mysql的路径。--with-apxs指向apache的apxs文件的路径。

  vi /usr/local/apache/conf/httpd.conf

  查找;

  在此范围添加

  AddType application/x-httpd-php .php

  AddType application/x-httpd-php-source .phps

  然CPOPY PHP的配置文件


  cp ../php4.3.4/php.ini.dist /usr/local/php/lib/php.ini

  修改php.ini文件

  register_globals = On

  ok!重新启动一下apache服务器

  /usr/local/apache/bin/apachectl restart

  然后写个php测试页info.php:内容如下

  phpinfo();

  ?;

  正常的话,应该能看到php的信息了,恭喜你的Apche+Mysql+PHP安装成功。好了写了这么多,希望对大家有所帮助!!!

来源:https://www.tulaoshi.com/n/20160219/1611192.html

延伸阅读
标签: 服务器
Web服务器配置方法 Web服务器概述 Web服务器又称为WWW服务器,它是放置一般网站的服务器。一台Web服务器上可以建立多个网站,各网站的拥有者只需要把做好的网页和相关文件放置在Web服务器的网站中,其它用户就可以用浏览器访问网站中的网页了。 我们配置Web服务器,就是在服务器上建立网站,并设置好相关的参数,至于网站中的...
大多数人们都在指定的机器上运行单个MySQL服务器,但在有些情况下,运行多个服务器是有好处的: 您可以在成品服务器运行的状态下测试新版本的服务器。在这种情况下,将运行不同的服务器。 操作系统通常将总进程限制施加于打开文件的描述符数量上。如果系统提高该限制值有困难,则运行多个服务器是解决该限制的办法(例如,提高限制可...
Every so often people ask me the question how should they estimate memory consumption by MySQL Server in given configuration. What is the formula they could use. 经常有人问我配置MySQL时该如何估算内存的消耗。那么该使用什么公式来计算呢? The reasons to worry about memory usage are quite understandable. If ...
标签: 服务器
在LinuxVPS下架设Minecraft服务器 在LinuxVPS下架设Minecraft服务器 首先,下载最新JAVA:http://javadl.sun.com/webapps/download/AutoDL?BundleId=76851 网盘下载地址http://pan.baidu.com/share/link?shareid=467767&uk=909489111 用Winscp把JAVA放到一个文件夹(比如我的是MC) 进入文件夹,打开终端,输...
MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库里,由mysql_install_db脚本初始化。这些权限表分别user,db,table_priv,columns_priv和host。下面分别介绍一下这些表的结构和内容: user权限表:记录允许连接到服务器的用户帐号信息,里面的权限是全局级的。 db权限表:记录各个帐号在各个数据库上...

经验教程

38

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部