文章目录
Apache简介
源于A Patchy Server,著名的开源Web服务软件
1995年时,发布Apache服务程序的1.0版本
由Apache软件基金会(ASF)负责维护
最新的名称为“Apache HTTPServer”
官方站点:http://httpd.apache.org/
主要特点
开发源代码、跨平台应用
支持多种网页编程语言
模块化设计、运行稳定、良好的安全性
软件版本
1.X
目前最高版本1.3,运行稳定
向下兼容性较好,但缺乏一些较新的功能
2.X
目前最高版本是2.4
具有更高的功能特性
与1.X相比,配置管理风格存在较大差异
编译安装httpd服务器
编译安装的优点
具有较大的自由度,功能可定制
可及时获得最新的软件版本
普遍适用于大多数Linux版本,便于移植使用
获得Apache服务器的源码包
参考地址:http://httpd.apache.org/download.cgi
http服务的目录和结构
主要目录和文件
服务目录:/usr/local/httpd/
主配置文件:/usr/local/httpd/conf/httpd.conf
网页目录:/usr/local/httpd/htdocs/
服务脚本:/usr/local/httpd/bin/apachectl
执行程序:/usr/local/httpd/bin/httpd
访问日志:/usr/local/httpd/log/access_log
错误日志:/usr/local/httpd/log/error_log
安装httpd服务器基本配置
通过xftp将文件httpd-2.4.29.tar apr-1.6.2.tar apr-util-1.6.0.tar传到ip20.0.0.11的/opt目录下
[[email protected] ~]# cd /opt
[[email protected] opt]# ll
总用量 8020
-rw-r–r--. 1 root root 1071074 10月 26 17:24 apr-1.6.2.tar.gz
-rw-r–r--. 1 root root 565507 10月 26 17:24 apr-util-1.6.0.tar.gz
-rw-r–r--. 1 root root 6567926 10月 26 17:24 httpd-2.4.29.tar.bz2
[[email protected] opt]# tar xf apr-1.6.2.tar.gz
[[email protected] opt]# tar xf apr-util-1.6.0.tar.gz
[[email protected] opt]# tar xf httpd-2.4.29.tar.bz2
[[email protected] opt]# yum -y install bzip2
[[email protected] opt]# systemctl status firewalld
[[email protected] opt]# setenforce 0
[[email protected] opt]# cd httpd-2.4.29/
[[email protected] httpd-2.4.29]# ll
drwxr-xr-x. 2 501 games 25 10月 18 2017 srclib
[[email protected] httpd-2.4.29]# cd …
[[email protected] opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[[email protected] opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[[email protected] opt]#yum -y install
gcc
gcc-c++
make
pcre-devel
expat-devel
perl
[[email protected] opt]# cd httpd-2.4.29/
[[email protected] httpd-2.4.29]# ./configure
–prefix=/usr/local/httpd
–enable-so
–enable-rewrite
–enable-charset-lite
–enable-cgi
[[email protected] httpd-2.4.29]# make && make install
make[1]: 离开目录“/opt/httpd-2.4.29”
[[email protected] httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[[email protected] httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[[email protected] httpd-2.4.29]# ls
httpd
[[email protected] httpd-2.4.29]# cd /usr/local/bin/
[[email protected] bin]# ls
httpd
[[email protected] bin]# httpd -v
Server version: Apache/2.4.29 (Unix)
Server built: Oct 26 2020 19:11:10
[[email protected] bin]# cd /lib/systemd/system
[[email protected] system]# vi httpd.service
清空所有添加以下内容
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
[[email protected] system]# systemctl start httpd
[[email protected] system]# systemctl status httpd
Active: active (running) since 一 2020-10-26 19:31:42 CST; 2min 1s ago
[[email protected] system]# systemctl is-enabled httpd
disabled
[[email protected] system]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[[email protected] system]# systemctl is-enabled httpd
enabled
[[email protected] system]# vi /etc/httpd.conf
#ServerName www.example.com:80→ServerName www.51xit.top:80
[[email protected] system]# systemctl restart httpd
[[email protected] system]# httpd -t
Syntax OK
修改hotst c盘文件 以下为效果图
构建虚拟主机
虚拟Web主机
在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机
httpd支持的虚拟主机类型
基于域名的虚拟主机
基于IP地址的虚拟主机
基于端口的虚拟主机
实验:基于域名
在hosts文件中最后一行添加成
20.0.0.11 www.51xit.top www.52xit.top
效果图如下:
[[email protected] system]# cd /opt
[[email protected] opt]# ll
总用量 8024
-rw-r–r--. 1 root root 1071074 10月 27 10:03 apr-1.6.2.tar.gz
-rw-r–r--. 1 root root 565507 10月 27 10:03 apr-util-1.6.0.tar.gz
drwxr-xr-x. 12 501 games 4096 10月 27 10:21 httpd-2.4.29
-rw-r–r--. 1 root root 6567926 10月 27 10:03 httpd-2.4.29.tar.bz2
[[email protected] opt]# mkdir -p /opt/51xit/
[[email protected] opt]# mkdir -p /opt/52xit/
[[email protected] opt]# vi /etc/httpd.conf 修改配置文件
ServerName www.51xit.top:80 →#ServerName www.51xit.top:80
#Include conf/extra/httpd-vhosts.conf→Include conf/extra/httpd-vhosts.conf
[[email protected] opt]# cd /usr/local/httpd/conf/extra/
[[email protected] extra]# vi httpd-vhosts.conf 修改配置
清空所有内容,并添加以下内容
[[email protected] extra]# systemctl restart httpd
以下为实验效果图
实验:基于ip地址(还原上个实验的快照)(接第一个实验快照)
添加一块网卡
[[email protected] ~]# nmcli connection
名称 UUID 类型 设备
ens33 58b3372f-84f2-4487-be61-854fe1af37ac 802-3-ethernet ens33
virbr0 e22ac657-eb17-4c30-932b-3223b704a4c6 bridge virbr0
有线连接 1 aca4be12-493a-3666-ad85-fbf7076bdf29 802-3-ethernet ens37
[[email protected] network-scripts]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-ens33 ifcfg-ens37
[[email protected] network-scripts]# vi ifcfg-ens37
记得要复制ens37的uuid 修改ens33 uuid ip
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=20.0.0.12
NETMASK=255.255.255.0
GATEWAY=20.0.0.2
DNS=20.0.0.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
UUID=aca4be12-493a-3666-ad85-fbf7076bdf2
DEVICE=ens37
ONBOOT=yes
测试新加的网卡是否正常上网,以下为效果图
若ping不通尝试输入ifup ens36进行测试
再次修改c盘hosts文档为
20.0.0.11 www.51xit.top
20.0.0.12 www.52xit.top
以下为实验效果图
[[email protected] network-scripts]# cd /opt
[[email protected] opt]# ll
总用量 0
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
[[email protected] opt]# mkdir -p /opt/51xit
[[email protected] opt]# mkdir -p /opt/52xit
[[email protected] opt]# vi /etc/httpd.conf
#ServerName www.51xit.top:80
Include conf/extra/httpd-vhosts.conf
[[email protected] opt]# cd /usr/local/httpd/conf/extra/
[[email protected] extra]# vi httpd-vhosts.conf
清空所有内容,并添加以下内容
[[email protected] extra]# systemctl restart httpd
[[email protected] system]# httpd -t
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using fe80::dd93:109b:6687:3f08. Set the ‘ServerName’ directive globally to suppress this message
Syntax OK
实验效果图(该实验在配置好Apache的基础上进行操作)
实验:基于端口
hosts改为20.0.0.11 www.51xit.top www.52xit.top
[[email protected] extra]# vi httpd-vhosts.conf
<VirtualHost 20.0.0.12:80>→<VirtualHost 20.0.0.11:8080>
[[email protected] extra]#systemctl restart httpd
[[email protected] extra]#vi /etc/httpd.conf
Listen 80 #Listen 80
Listen 20.0.0.11:80
Listen 20.0.0.11:8080
[[email protected] extra]#systemctl restart httpd
[[email protected] extra]# httpd -t
测试效果
MySQL的编译安装
[[email protected] ~]# useradd -s /sbin/nologin mysql
[[email protected] ~]# cd /opt
[[email protected] opt]# ll
-rw-r–r--. 1 root root 48833145 10月 27 12:23 mysql-boost-5.7.20.tar.gz
[[email protected] mysql-5.7.20]# tar zxvf mysql-boost-5.7.20.tar.gz
[[email protected] mysql-5.7.20]# cd mysql-5.7.20/
[[email protected] mysql-5.7.20]# cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
-DSYSCONFDIR=/etc
-DSYSTEMD_PID_DIR=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DMYSQL_DATADIR=/usr/local/mysql/data
-DWITH_BOOST=boost
-DWITH_SYSTEMD=1
[[email protected] mysql-5.7.20]# make && make install
[email protected] mysql-5.7.20]# cd /usr/local/
[[email protected] local]# chown -R mysql:mysql /usr/local/mysql/
[[email protected] local]# vi /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
[[email protected] local]# cd /etc
[[email protected] etc]# chown mysql:mysql /etc/my.cnf
echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile
echo ‘export PATH’ >> /etc/profile
source /etc/profile
[[email protected] etc]# cd /usr/local/mysql/
[[email protected] mysql]# cd bin/
[[email protected] bin]# mysqld
–initialize-insecure
–user=mysql \
–basedir=/usr/local/mysql
–datadir=/usr/local/mysql/data
[[email protected] bin]# cd …
[[email protected] bin]#cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[[email protected] mysql]# systemctl enable mysqld
[[email protected] mysql]# systemctl start mysqld.service
[[email protected] mysql]# systemctl status mysqld.service
[[email protected] mysql]# netstat -anpt | grep 3306
[[email protected] mysql]#
Enter password:
附加:初始化密码[[email protected] mysql]# mysqladmin -u root -p password 先回车 再输入密码
LAMP平台概述
什么是LAMP
目前最为成熟的一种企业网站应用模式,可提供动态web站点应用及开发环境
构成组件
Linux、Apache、MySQL、PHP等
LAMP优势
成本低廉
可定制、易于开发
方便易用、安全和稳定
安装PHP软件包
准备工作
确认没有使用RPM方式安装php及相关依赖包
安装扩展工具库
数据库加密工具libmcrypt、mhash、mcrypt
将通过xftp 将php-7.1.10.tar传给ip为20.0.0.11的opt目录下
[[email protected] ~]# cd /opt/
[[email protected] opt]# tar xjvf php-7.1.10.tar.bz2
[[email protected] opt]# cd /proc/
[[email protected] proc]# cd /opt
[[email protected] opt]# cd php-7.1.10
[[email protected] php-7.1.10]# make && make install
[[email protected] php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini
[[email protected] php-7.1.10]# cd /usr/local/php/lib/
[[email protected] lib]# vi php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock
date.timezone = Asia/Shanghai
[[email protected] lib]# /usr/local/php/bin/php -m
[[email protected] lib]# vi /etc/httpd.conf
AddType application/x-gzip .gz .tgz //下面添加如下两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
Virtual hosts
#Include conf/extra/httpd-vhosts.conf
[[email protected] lib]# cd /usr/local/httpd/htdocs/
[[email protected] htdocs]# rm -rf index.html
[[email protected] htdocs]#vi /usr/local/httpd/htdocs/index.php
[[email protected] htdocs]# systemctl restart httpd
实验效果
下面测试数据库工作是否正常
[[email protected] htdocs]#vi /usr/local/httpd/htdocs/index.php
Success!!
"; else echo "Fail!!"; ?>验证成功效果图
部署phpMyAdmin系统
PhpMyadmin数据库管理套件
使用PHP语言编写
通过Web界面对MySQL数据库进行管理
官方网站:http://www.phpmyadmin.net
解包并复制到网站目录
建立配置文件config.inc.php
访问phpMyAdmin的Web管理界面
在浏览器中访问http://www.kgc.com/phpMyAdmin/
使用phpMyAdmin系统
创建新的库、新的表
表及数据记录的管理
直接执行MySQL查询语句
安装phpMyAdmin
将 phpMyAdmin-4.7.6-all-languages 通过xft传输到ip为20.0.0.11的目录下
[[email protected] htdocs]# cd /opt
[[email protected] opt]# yum -y install unzip
[[email protected] opt]# unzip phpMyAdmin-4.7.6-all-languages.zip
[[email protected] opt]# mv phpMyAdmin-4.7.6-all-languages /usr/local/httpd/htdocs/myadm
[[email protected] opt]# cd /usr/local/httpd/htdocs/myadm
[[email protected] myadm]# cp config.sample.inc.php config.inc.php
[[email protected] myadm]# vi config.inc.php
效果图