linux web服务器及LAMP动态网站平台搭建

(vim补:)
vim另存为
:x,x w 目标文件路径
vim批量删除
x:x,x d


Web服务:基于B/S架构的web通信
服务端:支持HTTP协议的网页提供程序
客户端:按标记规范显示网页的浏览器程序
客户端 —HTTP请求—》 服务器
客户端 《—HTTP应答— 服务器
HTML:(Hyper Text Markup Language) 超文本标记语言
HTTP:(Hyper Text Transfer Protocol) 超文本传输协议
WWW:(World Wide Web) 万维网
URL:(Uniform Resource Locator) 统一资源定位器


Web服务器基本构建过程
确定网站名称,ip地址
搭建web平台
部署网页文档
在客户机中访问web站点

快速构建web服务器
[root@svr5 /]# yum -y install httpd(安装httpd)
[root@svr5 /]# yum -y install httpd-manual(安装使用手册)
[root@svr5 /]# service httpd restart(重启服务)
[root@svr5 /]# firefox http://192.168.4.5(访问网站)
[root@svr5 /]#http://192.168.4.5/manual/(访问手册)
[root@svr5 /]#cd /var/www/html/(默认网页根目录)
[root@svr5 html]#index.html(默认首页)
自动索引机制:
当目录下没有默认首页时,由httpd制动创建临时首页
elinks(文本浏览器)
格式:[root@svr5 html]# elinks http://192.168.4.5
选项
-dump:把网页内容直接显示到终端

主要目录和文件
主配置文件:/etc/httpd/conf/httpd.conf
配置目录:/etc/httpd/conf.d/
网站根目录:/var/www/html/
访问日志:/var/log/httpd/access_log
错误日志: /var/log/httpd/error_log

配置语句解析
全局设置
配置参数 值
区域设置:
目录权限控制
<Directory 目录>.... ..</Directory>
虚拟主机定义
<VirtualHost 监听地址>... ..</VirtualHost>
常用的全局设置参数
ServerName:本网站的FQDN名称(在互联网注册的一个合法域名)
DocumentRoot:网页文档的根目录
Directorylndex:默认索引页/首页文件
lnclude:可包含其他子配置文件
Listen:监听服务的ip地址,端口号
User:服务进程的属主,默认为apache
Group:服务进程的属组,默认为apache
ErrorLog:错误日志文件的位置
CustomLog:访问日志文件的位置

关于xx服务的运行用户/组:
由第一个用户root开启第一个服务进程
由第一个服务进程再创建其他的子进程,属于降权的用户/组


设置网站名/默认首页
[root@svr5 ~]# vim /etc/httpd/conf/httpd.conf
ServerName www.example.com:80(解除注释)
ServerName hydraxx(设置名字为hydraxx)
DirectoryIndex index.html index.html.var(更改网站首页,把想要的首页写在第一)
[root@svr5 ~]# service httpd reload(然后重新加载服务)
网页目录的迁移:
DocumentRoot "/var/www/html"
DocumentRoot "/目录/"

——————————————————————————————————————————————————
虚拟web主机
在同一台服务器上运行多个web站点
每个站点并不独立占用一台物理机
虚拟主机的特点:
一旦启用虚拟主机以后,全局设置的ServerName DocumentRoot失效
当客户机请求的URL不属于任何一个已知的站点,那么以第一个虚拟站点的网页做应答

虚拟主机的类型/区分方式:
基于域名(FQDN)
基于ip地址
基于端口

[root@svr5 html]# vim /etc/httpd/conf.d/vhosts.conf
NameVirtualHost *:80(启用虚拟主机)
<VirtualHost *:80>
DocumentRoot /var/www/html/xxx(配置域名)
ServerName www.xxx.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/xxx(配置域名)
ServerName www.xxx.com
</VirtualHost>
检查httpd服务配置语法:
httpd -t
service httpd configtest

——————————————————————————————————————————————————

LAMP动态网站平台
Linux + Apache HTTP Server + MySQL + PHP(Python/Perl)
目前最成熟的一种企业网站应用模式,可提供动态web站点应用及开发环境
优势:成本低廉,易用,安全,稳定,可定制,易于开发
主要构建方式:
RPM方式:安装简单,快捷,但是扩展不便,可定制性差
源码编译安装:可定制安装,方便整体迁移,方便扩展,有利于二次开发

RPM构建LAMP平台
基本思路:
配置好yum仓库
安装 httpd mysql-server mysql php php-mysql
启动mysqld httpd服务
测试php网页解析,数据库访问

LAMP平台配置
配置MySQL组件:
[root@svr5 ~]# server mysqld restart(开启服务)
[root@svr5 ~]# mysqladmin -u root password 'Anonymous'(为数据库管理账号root设置密码)
[root@svr5 ~]# chkconfig mysqld on(设置开机自启)
配置PHP组件:
[root@svr5 ~]# vim /etc/php.ini
default_charset="utf-8"(设置默认字符集)
file_uploads=On (允许从PHP网页上传文件)
upload_max_filesize=2M (允许上传的文件大小)
post_max_size=8M (每次POST提交的数据限制)
配置httpd组件:
主要操作:设置站点名,网页路径,默认首页,启动httpd服务,并设置开机自启
[root@svr5 ~]# vim /etc/httpd/conf/httpd.conf
ServerName www.example.com:80
ServerName 九头蛇 (设置站点名)
DocumentRoot "/var/www/html"(网页根路劲)
DirectoryIndex muban3 index.html index.html.var(默认首页)
[root@svr5 ~]# service httpd restart(重开服务)
[root@svr5 ~]# chkconfig httpd on(开机自启)

协同测试:测试php网页解析
建立测试网页test1.php
利用phpinfo()函数检查php环境
[root@svr5 ~]# vim /var/www/html/test1.php
<?php
phpinfo();
?>

建立测试网页test2.php
添加链接mysql数据库的测试代码,需指定正确的用户名,密码
[root@svr5 ~]# vim /var/www/html/test2.php
<?
$link=mysql_connect('localhost','root','Anonymous');
if($link) echo "Hail Hydra !!"; (成功则显示Hail Hydra!!)
else echo "Failure !!"; (失败则显示"Failure !!)
mysql_close(); (关闭数据库连接)
?>

————————————————————————————————————————————————

部署PHP应用
实列:
Discuz!论坛系统
下载并确认程序源代码
官方网站 http://www.discuz.net/

准备工作:
支持PHP,MySQL的网站平台
确定论坛服务器的域名,ip地址等基本信息
建立论坛数据库,授权访问用户

部署Discuz!论坛代码
将upload/上传到网站空间
确保web服务进程对相关目录有写入权限
[root@svr5]# unzip Discuz_X3.2_SC_UTF8.zip -d tdir(把代码释放到tdir目录下)
[root@svr5]# ls tdir/(查看目录)
readme upload utility
[root@svr5]#cp -rf tdir/upload/ /var/www/html/bbs(将tdir下的目录递归复制/var/www/html/bbs)
[root@svr5]# ls /var/www/html/bbs/(查看文件)
admin.php connect.php forum.php member.php search.php uc_server
api cp.php group.php misc.php source userapp.php
api.php crossdomain.xml home.php plugin.php static
archiver data index.php portal.php template
config favicon.ico install robots.txt uc_client

Discuz!论坛的安装
从浏览器访问http://服务器地址/bbs/install
根据页面提示完成安装
[root@svr5]#firefox http://192.168.4.5/bbs/install(访问网页安装)
[root@svr5 bbs]# chown -R apache config/ data/ uc_*(修改权限)
[root@svr5 bbs]# rm -rf install (安装好后删除bbs下的install,以防再次安装,导致网站出错)

————————————————————————————————————————————————————————————

原文地址:https://www.cnblogs.com/Hydraxx/p/7091471.html