www服务器架设linux+apache+mariadb+php

  这两天被这搭建www服务器折磨惨了,尤其是数据库这一块,只能怪大一的时候认真上数据库的课。

  我用到的是CentOS 7系统搭建服务器的,阿里云学生特惠9.9每月买的(这不是在打小广告哦!)。参考鸟哥的私房菜服务器架设篇,还有好多网上的内容,遇到问题就google、百度查,还有感谢老师和学姐的解答。

  这是第一次比较像教程的日志,由于是新手,写下来供下次查阅,望大神勿喷!

  首先介绍下LAMP,linux、php自然不必说。apache是免费开源的,是搭建www服务器的必备,类似的有nginx、win的IIS。mariadb是mysql的一个分支,大部分命令和mysql相同,用来替换被甲骨文收购的mysql。

1.要安装的软件:httpd、mariadb、php、php-devel、php-mysql,从仓库安装命令用yum install 软件包名。还有MariaDB-server和MariaDB-client的安装后边介绍。

2.配置apache参数

  vim /etc/httpd/conf/httpd.conf  查找关键条目vim命令模式下输入:  /关键字   n:下一,N:上一

  关键条目:ServerRoot "/etc/httpd"  #服务器设置的最高层目录

 (1)AddDefaultCharset UTF-8   #编码方式,默认UTF-8,可以注释掉因为网页头文件内会声明编码方式

 (2)DocumentRoot "/var/www/html"   #默认放首页的目录

 (3)DirectoryIndex index.html index.php   #默认的首页名,排在前面的优先级高,空格隔开

   (4)Alias /myfilename/ "/var/www/myfilename/"   #让你放在/var/www/myfilename下的文件也可以单独成网站,如输入网页地址:localhost/myfilename,开始

  <Directory "/var/www/myfilename">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>   #这七句需要自己添加,介绍

3.配置php

  /etc/httpd/conf.d/php.conf  并没有什么好更改的

  vim /etc/php.ini

  (1)display_errors=Off

   display_startup_errors=Off

  这两段为On时会记录下错误信息,错误文件记录在/var/log/httpd/error_log和/var/log/messages下,很适合调试时使用,会记录下php网页中错误的语句

  (2)拓展软件httpd-manual,输入localhost/manual查看apache的使用手册

     mod_perl、mod_python、mod_ssl让www服务器支持perl、python、ssl

3.启动和关闭httpd

  (1)这种方式笔者不能用,会提示无此httpd文件,如果有人知道原由望告知笔者,万分感谢!启动:/etc/init.d/httpd start(或者stop关闭、restart重启),开机自启动:chkconfig httpd on

  (2)启动:/usr/sbin/apachectl start(stop关闭、restart重启)。

  (3)查看服务是否启动:netstat -tulnp | grep 'httpd'

    终端显示:tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1061/http 

           tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1061/http   #端口80开启的,说明启动成功

  访问你的网站会显示apache的test页面,因为你主目录下没有以index命名的主页。

  (4)测试php网页是否可用:vim /var/www/html/index.php  内容输入<?php phpinfo ();  ?>调用php的函数phpinfo()。

  此时访问你的网站,会出现你服务器上的所有关于php的配置信息,仔细看看发现还透露了你服务器的私密信息哦,所以测试完记得删除测试文件。

4.数据库mariadb的设定(咋一看有点像matlab有木有)

  这个真是耗费了我好多的时间,不认识什么鬼的童鞋,笔者建议自行google脑补,笔者给你一预防针,mariadb和mysql的命令一样的(笔者不敢保证)。

  (1)安装MariaDB-server和MariaDB-client,方法有很多但官网上的是最简单的,https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft进去后自行选择系统和版本。仔细阅读 Copy and paste it into a file under /etc/yum.repos.d/ (we suggest naming the file MariaDB.repo or something similar)这句话,就是:

  vim /etc/yum.repos.d/MariaDB.repo            内容输入如下:

  # MariaDB 10.1 CentOS repository list - created 2015-11-16 12:52 UTC   #begin

  # http://mariadb.org/mariadb/repositories/

  [mariadb]

  name = MariaDB

  baseurl = http://yum.mariadb.org/10.1/centos7-amd64

  gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

  gpgcheck=1   #end

  然后保持yum install MariaDB-server MariaDB-client安装即可   #下载用了一个多小时,心好累

  (2)启动服务:/etc/init.d/mysql start(stop关闭、restart重启)

  (3)查看服务是否启动:netstat -tulnp | grep 'mysql'

  终端显示:tcp6       0      0 :::3306                 :::*                    LISTEN      28448/mysqld     #端口3306开启,说明启动成功

  (4)修改密码:mysqladmin -u root password '密码';   #小心后面的分号,不要忘加

  登陆数据库:mysql -u root -p

  (5)给权限:MariaDB [(none)]> grant all privileges on *.* to root@'localhost';   #如果不执行这一步访问网站时会出现Access denied for user ‘root’ @‘localhost’ (using password:YES)

5.试验

  (1)用scp命令把网站源文件传到www服务器的主目录/var/www/html下,首页文件记得用index命名哦!

    博主在文件目录下上传所以需要的文件:scp -r * root@服务器ip地址:/var/www/html    

  (2)为网站创建需要的数据库

    create database jol;

  (3)效果展示

       #哈哈,这是博主学校的oj平台

6.心得总结

  我昨天被数据库困了一天,由于博主找的几个测试的网站源码都是php写的,且有些用到数据库,由于php不懂,打开网页什么都没显示,一片空白,还以为数据库连接问题(那时数据库连接的确有问题,不过测试的网站没用到数据库),后来查看错误日志/var/log/httpd/error_log,从提示可以看出客户端可以连接并提示错误在index.php第一行,问上班的学姐说错在第一行的函数(好像是get_header(),php不懂),然后换了一个oj平台网站,数据库连接问题,搞定以后,正常显示。本来昨晚可以结束这个博客,在机房到晚上九点大伯就会赶我们走,所以今天完稿,顺便把服务器还原到买来时的镜像重新跟着博客走了一遍,一切ok,没有出现错误。哈哈哈,好兄弟生日叫吃饭了,博主要去吃饭了!我会继续写其它服务器的日志的博客,加油!

祝兄弟方翔生日快乐^_^

  

posted on 2015-11-16 20:59  Rnet  阅读(284)  评论(0编辑  收藏  举报

导航