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,没有出现错误。哈哈哈,好兄弟生日叫吃饭了,博主要去吃饭了!我会继续写其它服务器的日志的博客,加油!
祝兄弟方翔生日快乐^_^