运维开发宝典023-WEB网站服务

大家好,我是云计算磊哥,从业20年的IT老鸟。运维培训15年,总结了一套从入门到精通的全运维开发宝典手册。准备用300天时间写一套博文,手把手从安装软件讲起,从行业到产品,从过去到未来,从理论到操作,从视频到文档工具,一站式。从零基础入门到20k运维开发工程师岗位诸多就业问题。多方位全方面的给你讲清楚云计算这个行业该如何做。关注我。后续更精彩。

本文讲解了关于WEB服务器的相关概念,以及虚拟主机技术。构建论坛博客系统WEB实战。

Apache服务器

1 简介
1.1 前言

UI的转变:B/S架构

1.2 名词

HTML

复制代码
    HyperText Markup Language 

网页

使用HTML,PHP,JAVA语言格式书写的文件。

主页

网页中呈现用户的第一个页面。

URL

Uniform Resource Locator

统一资源定位符

1.3 Web Server

Nginx(Tengine)、Apache、IIS

1.4 静态元素

.html .img .css .swf .mp4 .jpg .png .gif

1.5 动态元素

.php .jsp .cgi .asp SQL

1.6 Web 中间件

php: PHP-fpm、HHVM

jsp: Tomcat、JBOSS、Resin、IBM WebSphere

1.7 常见组合方式

LNMP (Linux + Nginx + MySQL + PHP) //php-fpm进程

LAMP (Linux + Apache + MySQL + PHP) //php作为Apache的模块

Nginx + Tomcat   //取代Apache与Tomcat结合,java

2 静态站点
2.1 Apache基础

Apache: www.apache.org

软件包: httpd

服务端口: 80/tcp(http) 443/tcp(https,http+ssl)

配置文件: /etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

/etc/httpd/conf.d/welcome.conf //默认测试页面

2.2 安装Apache
shell 复制代码
[root@apache ~]# yum -y install httpd
[root@apache ~]# systemctl start httpd
[root@apache ~]# systemctl enable httpd
[root@apache ~]# systemctl stop  firewalld
2.3 虚拟主机

目的

复制代码
虚拟主机VirtualHost 

在一台物理服务器上运行多个网站 

类型

复制代码
基于主机名
基于IP地址
基于端口号

配置虚拟主机实现如下网站:

复制代码
www.a.org 		/var/www/html/a.org     
www.b.org 		/b.org 
注意关闭firewalld和selinux

www.a.org

shell 复制代码
# mkdir /var/www/html/a.org 
# vim /var/www/html/a.org/index.html 

创建a.org的配置文件
# vim /etc/httpd/conf.d/a.org.conf 
<VirtualHost *:80>
   ServerName www.a.org
   DocumentRoot /var/www/html/a.org
</VirtualHost>

检测配置文件语法,重启服务
# httpd -t 
# systemctl restart httpd 

www.b.org

shell 复制代码
# mkdir /b.org 
# vim /b.org/index.html 

创建b.org的配置文件 
# vim /etc/httpd/conf.d/b.org.conf 
<VirtualHost *:80>
   ServerName www.b.org
   DocumentRoot /b.org
</VirtualHost>

<Directory "/b.org">
   Require all granted
</Directory>

 
检测配置文件语法,重启服务
# httpd -t 
# systemctl restart httpd 

注意:域名解析。www.b.org
测试:yum install -y elinks
		elink www.b.org
3 动态站点
3.1 图解动态网站架构
4 测试LAMP环境
4.1 Apache
4.2 Apache基础

Apache: www.apache.org

软件包: httpd

服务端口: 80/tcp(http) 443/tcp(https,http+ssl)

配置文件: /etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

/etc/httpd/conf.d/welcome.conf //默认测试页面

4.3 安装Apache
shell 复制代码
[root@apache ~]# yum -y install httpd
[root@apache ~]# systemctl start httpd
[root@apache ~]# systemctl enable httpd
4.5 防火墙
shell 复制代码
[root@apache ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config 
[root@apache ~]# setenforce 0
[root@apache ~]# firewall-cmd --permanent --add-service=http
[root@apache ~]# firewall-cmd --permanent --add-service=https
[root@apache ~]# firewall-cmd --reload 
4.6 测试页
shell 复制代码
1 建立静态页面。
[root@apache ~]# vim /var/www/html/index.html
1802test
请注意观察测试是否成功。

2 建立动态页面。
[root@apache ~]# vim /var/www/html/2.php 
<?php
phpinfo();
?>
请观察测试是否成功,NO
4.7 安装PHP
shell 复制代码
之所以,测试不成功。是因为没有人解析动态语言。

[root@apache ~]# yum -y install php		 //php作为Apache的模块 

观察安装后的结果。
[root@apache ~]# ll /etc/httpd/modules/libphp5.so 
-rwxr-xr-x. 1 root root 4588368 Jun 24 2015 /etc/httpd/modules/libphp5.so
[root@apache ~]# ll /etc/httpd/conf.d/php.conf 
-rw-r--r--. 1 root root 691 Jun 24 2015 /etc/httpd/conf.d/php.conf
重新启动网站程序。调动php模块
[root@apache ~]# systemctl restart httpd

请再次刷新页面。见下图。PHP语言被解析成功。

请思考。PHP查询的数据存放在哪里?

在数据库中。

4.8 安装数据库
shell 复制代码
[root@apache ~]# yum -y install mariadb-server mariadb
[root@apache ~]# systemctl start mariadb.service 
[root@apache ~]# systemctl enable mariadb.service 

增强mysql。
[root@apache ~]# mysql_secure_installation //提升mariadb安全 [可选]
Set root password? [Y/n] 
New password: 123
Re-enter new password: 123 
手动测试账号密码。
[root@apache ~]# mysql  -uroot  -p123 //登录mariadb测试
MariaDB [(none)]> \q

[root@apache ~]# rm -rf /var/www/html/*
[root@apache ~]# vim /var/www/html/index.php
<?php
$link=mysql_connect('localhost','root','123');
if ($link)
echo "Successfuly";
else
echo "Faile";
mysql_close();
?>

请思考。数据库是否可以连接成功。

测试结果: php无法连接mysql 。因为缺少php连接mysql的工具

4.9 配置php

shell 复制代码
配置php连接Mariadb
[root@apache ~]# yum -y install php-mysql
[root@apache ~]# php -m //查看php有哪些扩展
[PHP Modules]
mysql
mysqli
[root@apache ~]# systemctl restart httpd

4.9 Apache基本配置

shell 复制代码
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd" 		//安装目录
Listen 80 	//监听端口
IncludeOptional conf.d/*.conf 	//包含conf.d下的*.conf文件
User apache 		//运行Apache的用户
Group apache 		//运行Apache的用户组
DirectoryIndex index.html index.php 		//设置默认主页,用一个。
DocumentRoot 		//站点默认主目录
5 部署网上商城 ecshop
5.2 基础环境
shell 复制代码
[root@apache ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config 
[root@apache ~]# setenforce 0
[root@apache ~]# systemctl stop firewalld.service 
[root@apache ~]# systemctl disable firewalld.service
5.3 安装LAMP
shell 复制代码
[root@apache ~]# yum -y install httpd mariadb-server mariadb php php-mysql gd php-gd
[root@apache ~]# systemctl start httpd mariadb
[root@apache ~]# systemctl enable httpd mariadb
5.4 安装Ecshop

上传站点源码包

复制代码
[root@apache ~]# mkdir -p /webroot/abc
[root@apache ~]# unzip ECShop_V3.0.0_UTF8_release0518.zip   //官网下载或学校FTP
[root@apache ~]# cp -rf ECShop_V3.0.0_UTF8_release0518/* /webroot/abc/
[root@apache ~]# chmod -R 777 /webroot/abc/

配置HTTP虚拟主机

复制代码
[root@apache ~]# vim /etc/httpd/conf.d/abc.conf
添加如下内容
shell 复制代码
httpd -t httpd配置文件语法检测
[root@apache ~]# systemctl restart httpd

配置域名解析

shell 复制代码
[root@localhost ~]# vim /etc/hosts //如果没有使用DNS解析
192.168.122.161 www.abc.top abc.top //161为 web server IP

修改php.ini时区

复制代码
[root@apache ~]# vim /etc/php.ini
复制代码
[root@apache ~]# systemctl restart httpd
5.5 前台安装源码包
5.6 使用商城

再次打开浏览器,访问服务器IP地址即可。略

6 部署论坛系统discuz
6.2 基础环境
shell 复制代码
[root@apache ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config 
[root@apache ~]# setenforce 0
[root@apache ~]# systemctl stop firewalld.service 
[root@apache ~]# systemctl disable firewalld.service
6.3 安装LAMP
shell 复制代码
[root@apache ~]# yum -y install httpd mariadb-server mariadb php php-mysql gd php-gd
[root@apache ~]# systemctl start httpd mariadb
[root@apache ~]# systemctl enable httpd mariadb
[root@apache ~]# mysql_secure_installation		//可选设置密码
6.4 安装Discuz!

导入discuz网站源码

shell 复制代码
[root@apache ~]# mkdir /webroot/discuz
[root@apache ~]# tar xf Discuz_X3.4_SC_UTF8.zip
[root@apache ~]#cp -rf upload/* /webroot/discuz/
[root@apache ~]#chown -R  apache.apache  /webroot/discuz/

Apache 配置虚拟主机

shell 复制代码
[root@apache ~]# vim /etc/httpd/conf.d/discuz.conf
<VirtualHost *:80>
   ServerName www.discuz.com
   DocumentRoot /webroot/discuz
</VirtualHost>

<Directory "/webroot/discuz">
   Require all granted
</Directory>
[root@apache ~]# systemctl restart httpd

准备数据库

shell 复制代码
[root@localhost discuz]# mysql
MariaDB [(none)]> create database discuz ;
MariaDB [(none)]> show databases;
| discuz             |

配置域名解析

shell 复制代码
[root@localhost  ~]# vim /etc/hosts
192.168.122.161 www.abc.top abc.top www.abc.com  www.discuz.com //161为 web server IP

前台安装discuz

前台使用

Linux入门阶段 配套视频 https://edu.csdn.net/course/detail/40861


Linux 系统管理阶段的学习,本章至此已圆满完成,我们系统掌握了用户权限、进程管理、计划任务、日志服务、网络配置、文件共享及域名解析等核心运维技能,为服务器稳定运行与服务搭建打下了坚实基础。接下来将进入 MySQL 数据库运维阶段,重点学习数据库安装配置、用户与权限管理、数据备份恢复、性能优化及故障排查,实现从系统运维到数据运维的全面进阶。

mysql阶段 配套视频 https://edu.csdn.net/course/detail/40864

相关推荐
下北沢美食家43 分钟前
SSE 入门
前端
小义_1 小时前
【Linux 1】
linux·运维·云原生·红帽
JF_Ma1 小时前
天量极客自动化技术:miniQMT系统实现量化交易自动化
运维·自动化
开开心心就好1 小时前
无弹窗不更新的PC本地播放工具
运维·科技·macos·docker·计算机外设·ocr·powerpoint
面向对象World1 小时前
Z8350 Broadcom SDIO网卡调试Ubuntu 22.04 Server版
linux·运维·ubuntu
我命由我123451 小时前
工程中安全帽颜色含义
运维·经验分享·学习·职场和发展·求职招聘·职场发展·学习方法
加点油。。。。1 小时前
【1.Obsidian渲染html文件】
前端·html·obsidian
ZFSS1 小时前
BYOK(自带密钥)使用指南
运维·服务器·前端·人工智能·midjourney
AI_零食1 小时前
呼吸灯 - 通过鸿蒙PC Electron框架技术完成-在焦虑时代守护每一次呼吸的数字禅修
前端·javascript·华为·electron·前端框架·鸿蒙