zoukankan      html  css  js  c++  java
  • 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,没有出现错误。哈哈哈,好兄弟生日叫吃饭了,博主要去吃饭了!我会继续写其它服务器的日志的博客,加油!

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

      

  • 相关阅读:
    SAP BI 常用TCODE
    ABAP Table Control
    Smartforms 设置纸张打印格式
    SAP库存历史库存表更新逻辑 (转)
    ABAP 调用远程rfc
    php 随机生成数字字母组合
    php错误提示 open_basedir restriction in effect 解决
    MySQL Errno : 1062 错误修复
    mysql数据库允许远程连接
    httpd.conf文件与.htaccess文件的对比
  • 原文地址:https://www.cnblogs.com/zhenxianluo/p/4970047.html
Copyright © 2011-2022 走看看