Linux中Apache(http)和LAMP架构(重点)
Posted zp-1996
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中Apache(http)和LAMP架构(重点)相关的知识,希望对你有一定的参考价值。
apache介绍:
世界上使用率最高的网站服务器,最高时可达70%;官方网站:apache.org
:80 — 端口 http对应80端口,https对应443端口
LAMP安装说明
①源码包安装 自定义 开发版本选择方便 效率高
生产环境 安全 稳定
开发环境 局域网(内网)
②二进制包安装 yum命令安装 官方版本比较低
apache三种工作模式:
1、prefork 工作模式(作用:用一个进程处理一个用户请求)
优点:成熟稳定,兼容所有新老模块。同时,不需要担心线程安全的问题。
缺点:一个进程相对占用更多的系统资源,消耗更多的内存。而且,它并不擅长处理高并发请求。
2、worker 工作模式(作用:一个进程生成多个线程,一个线程处理一个用户请求)
优点:占据更少的内存,高并发下表现更优秀。
缺点:必须考虑线程安全的问题。
3、event 工作模式
它和worker模式很像,最大的区别在于,它解决了keep-alive场景下,长期被占用的线程的资源浪费问题。event MPM中,会有一个专门的线程来管理这些keep-alive类型的线程,当有真实请求过来的时候,
将请求传递给服务线程,执行完毕后,又允许它释放。这样增强了高并发场景下的请求处理能力。
apache基本信息
apache为企业中常用的web服务,用来提供http://(超文本传输协议)
主配置目录:/etc/httpd/conf
主配置文件:/etc/httpd/conf/http.conf
子配置目录:/etc/httpd/conf.d
子配置文件:/etc/httpd/conf.d/*.conf
默认发布目录:/var/www/html/
默认发布文件:index.html
默认端口:80
服务器的返回状态值(常用的六个记住)
200:ok,请求下载成功(正常)
304:not modified,标识一个缓存的资源是否发生过更改(正常)
403:forbidden,表示客户端没有权限访问所请求的资源(表示没有权限,加权限)
404:Not Found,表示客户端所请求的资源不存在(有可能路径不对)
500:Internal Server Error,服务器内部错误
502:Bad Gateway,代理服务器从上游服务器获取到的是伪响应
编译安装Apache(http)(首先对apr apr-util httpd 进行编译安装)
首先需要老师发四个安装包
apr-1.5.2.tar apr-util-1.5.4.tar httpd-2.4.20.tar jd
1.编译安装apr:
第一步:上传相关的软件包
[[email protected] ~]# ls
apr-1.5.2.tar.gz apr-util-1.5.4.tar.gz httpd-2.4.20.tar.gz
第二步:解压
[[email protected] ~]# tar xf apr-1.5.2.tar.gz
[[email protected] ~]# tar xf apr-util-1.5.4.tar.gz
[[email protected] ~]# tar xf httpd-2.4.20.tar.gz
第三步:进入安排apr解压目录,进行编译
[[email protected] ~]# cd arp- apr-1.5.2
[[email protected] apr-1.5.2]# ./configure –prefix=/usr/local/apr
第四步:解决依赖(首先下载编译器)
[[email protected] apr-1.5.2]# yum install gcc -y
第五步:继续编译
[[email protected] apr-1.5.2]# ./configure –prefix=/usr/local/apr
第六步:安装
[[email protected] apr-1.5.2]# make && make install
2.编译安装apr-util:
第一步:进入并开始编译
[[email protected] ~]# cd apr-util-1.5.4
[[email protected] apr-util-1.5.4]# ls
第二步:开始编译
[[email protected] apr-util-1.5.4]# ./configure –with-apr=/usr/local/apr –prefix=/usr/local/apr-util #需要制定apr位置
第三步:编译安装
[[email protected] apr-util-1.5.4]# make && make install
3.编译安装httpd :
第一步:进入解压文件并开始编译
[[email protected] httpd-2.4.20]# ./configure --prefix=/usr/local/httpd2.4 \ (加符号 \ ,进行转行表示还没有写完)
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-cache \
--enable-deflate \
--enable-ssl \
--enable-rewrite \
--with-mpm=event
第二步:解决依赖(如果直接安装会提示缺少依赖)(首先解决编译文件中的依赖pcre openssl)
[[email protected] httpd-2.4.20]# yum install pcre pcre-devel -y
[[email protected] httpd-2.4.20]# yum install openssl openssl-devel -y
第三步:安装
[[email protected] httpd-2.4.20]# make && make install
完成了编译安装apr apr-util httpd ,接下来就可以安装编译安装apache(http)
编译安装的apache常用操作:
首先进入 [[email protected] httpd-2.4.20]# cd /usr/local/httpd2.4
[[email protected] httpd-2.4.20]# ls
[[email protected] httpd-2.4.20]# cd bin
[[email protected] bin]# ./apachectl start(启动http)
[[email protected] bin] # ss -tnl(查看80端口开了没有)
[[email protected] bin]# ./apachectl stop(停止http)
lsof -i :80(查看80端口是否被占用)
apache配置文件常用参数
Listen 80
User apache
Group apache
DocumentRoot “/var/www/html”
DirectoryIndex index.html
基于端口创建虚拟主机
第一步:修改配置文件
[[email protected] ~]# vim /etc/httpd/conf/httpd.conf(在末行输入)
<VirtualHost *:81>(定义端口)
DOCUMENTROOT /var/www/zp1
DIRECTORYINDEX index.html
< /VirtualHost>
<VirtualHost *:82>(定义端口)
DOCUMENTROOT /var/www/zp2
DIRECTORYINDEX index.html
< /VirtualHost>
然后查找Listen
输Listen 80
Listen 81
Listen 82
第二步:创建网站根目录
[[email protected] ~]# mkdir /var/www/zp{1,2}
第三步:创建网页首页文件
[[email protected] ~]# echo “111” >> /var/www/zp1/index.html
[[email protected] ~]# echo “hello world” >> /var/www/zp2/index.html
第四步:重启apache
[[email protected] ~]# systemctl restart httpd
第五步:linux中访问
[[email protected] ~]# curl 192.168.221.123:81
111
[[email protected] ~]# curl 192.168.221.123:82
hello world
基于域名创建虚拟主机
第一步:修改配置文件
[[email protected] ~]# vim /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.221.123>
DOCUMENTROOT /var/www/zp1
DIRECTORYINDEX index.html
servername www.zp1.com
< /VirtualHost>
<VirtualHost 192.168.221.123>
DOCUMENTROOT /var/www/zp2
DIRECTORYINDEX index.html
servername www.zp2.com
< /VirtualHost>
第二步:创建网站根目录
[[email protected] ~]# mkdir /var/www/zp{1,2}
第三步:创建网页首页文件
[[email protected] ~]# echo “111” >> /var/www/zp1/index.html
[[email protected] ~]# echo “hello world” >> /var/www/zp2/index.html
第四步:重启apache
[[email protected] ~]# systemctl restart httpd
第五步:解析域名
[[email protected] www]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.221.123 www.ken1.com www.ken2.com(在另一行输入)
第六步:linux中访问
[[email protected] www]# curl www.zp1.com
111
[[email protected] www]# curl www.zp2.com
hello world
apache上线静态网站
第一步:关防火墙
[[email protected] www]# systemctl stop firewalld
[[email protected] www]# setenforce 0
第二步:下载httpd
[[email protected] ~]# yum install httpd -y
第三步:上传京东安装包至网站根目录之下
[[email protected] ~]# cd /var/www/html/(打开这个目录,把京东压缩包放进去)
[[email protected] html]# ls
[[email protected] html]# rz
[[email protected] html]# ls
jd.zip
[[email protected] html]#
第四步:下载unzip并解压
[[email protected] html]# yum install unzip -y
[[email protected] html]# unzip jd.zip
[[email protected] html]# ls
jd jd.zip
第五步:启动httpd
[[email protected] html]# systemctl restart httpd
第六步:游览器访问
apache上线动态网站(公司基本都是动态网站,静态网站很少)
动态网站需要下载数据库,有一个单独的数据库
第一步:需要先部署LAMP架构(重点)
[[email protected] jd]# yum install httpd php php-mysql mariadb-server -y
第二步:启动apache和数据库
[[email protected] jd]# systemctl restart httpd mariadb
第三步:上传安装包并解压(上传老师给发的压缩包)
[[email protected] html]# ls
wordpress-3.3.1-zh_CN.zip
[[email protected] html]# unzip wordpress-3.3.1-zh_CN.zip
第四步:复制wordpress文件到本目录下
[[email protected] html]# cp wordpress/* . -a
[[email protected] html]# ls
第五步:配置数据库文件
[[email protected] html]# cp wp-config-sample.php wp-config.php(复制文件并为其改名)
[[email protected] html]# vim wp-config.php
/** WordPress 数据库的名称 */
define(‘DB_NAME’, ‘pan’);
/** MySQL 数据库用户名 */
define(‘DB_USER’, ‘pan’);
/** MySQL 数据库密码 */
define(‘DB_PASSWORD’, ‘123’);
第六步:配置数据库
[[email protected] html]# mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]> create database pan;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on *.* to [email protected]’localhost’ identified by ‘123’;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> exit
Bye
第七步:访问网站
在游览器上输192.168.221.123
以上是关于Linux中Apache(http)和LAMP架构(重点)的主要内容,如果未能解决你的问题,请参考以下文章