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

原文地址:https://www.cnblogs.com/zp-1996/p/10922289.html

时间: 2024-10-07 04:41:01

Linux中Apache(http)和LAMP架构(重点)的相关文章

linux中apache和mysqld加入service系统服务中

linux中apache和mysqld加入service系统服务中 先我们把mysql增加到linux的系统服务中去 mysql:  代码如下 复制代码 cd /usr/local/mysql/share/mysql cp mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on service mysqld restart 现在你就可以使用:service mysqld start来启动mysql了 a

LNAMP(Linux+Nginx+Apache+Mysql+PHP)高性能架构配置实战版

LNAMP(Linux+Nginx+Apache+Mysql+PHP)架构受到很多IT企业的青睐,取代了原来认为很好的LNMP(Linux+Nginx+Mysql+PHP)架构. 那我们说LNAMP到底有什么优点呢,还得从Nginx和apache的优缺点说起. 1)Nginx处理静态文件能力很强 2)Apache处理动态文件很强而且很稳定,把二者综合在一块,性能提升很多倍. 可能很多Linux SA在从事LNMP运维中,会发现PHP(FastCGI)模式会出现一些502错误的现象,这是因为Ngi

Linux(Centos 7) LAMP架构之安装Apache

1.Centos7直接使用yum安装Apache yum install httpd 2.防火墙设置,开启80端口 firewall-cmd --permanent --zone=public  --add-service=http firewall-cmd --permanent --zone=public  --add-service=https firewall-cmd --reload 3.设置服务器开机启动Apache systemctl enable httpd.service #设

rsyslog+loganalyzer+mysql+apache+php的lamp架构搭建日志服务器

当服务器遇到问题时,运维工程师都会根据日志分析问题,当黑客入侵服务器时,基本都会删除日志,以免留下蛛丝马迹,由此可见日志对服务器来说多么重要,为此很多公司都会有自己的日志服务器,下面我们来一起学习如何搭建日志服务器和日志分析工具. 1.首先必须得客户机与服务器都安装rsyslog这个软件: [[email protected] ~]# yum -y install rsyslog 2.客户机修改配置文件(1.4为日志服务器) [[email protected] ~]# grep -v "^$&

linux 中apache服务启动相关分析

apache服务不能启动一般有二种可能: 1. 启动apache时出现 [[email protected] apache2]# /usr/local/apache2/bin/apachectl starthttpd: Could not reliably determine the server's fully qualified domain name, using 121.10.40.155 for ServerName 现在提供该问题的解决方法 1)进入apache配置文件的目录:(视个

linux中apache服务的三种不同访问方式

实验环境:使用Red Hat Linux-6.2 32位操作系统用于搭建apache服务,使用windows 7-32位作为客户机.下面是详细的操作步骤. 实验步骤:搭建好系统自带的httpd服务:①搭建httpd服务的虚拟目录,并访问:②搭建基于不同主机名的httpd访问服务,并访问:③搭建基于不同端口号的httpd访问服务,并验证. 首先是检查httpd服务的安装环境,一些必要的环境条件一定要有.然后直接启动httpd服务试试看,此时虽然可以启动服务但是会有一些提示,最好处理一下.Httpd

LAMP架构部署——编译安装PHP

LAMP架构简介 LAMP架构是目前应用最为成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境.LAMP这个词是一个缩写,具体包括:Linux操作系统.Apache网站服务器.MySQL数据库服务器,PHP (或Perl.Python)网页编程语言. 在LAMP平台的四个构成组件中,每一个组件都承担着一部分关键应用.经过过去十几年的发展,各组件间的兼容性得到了不断的完善,协作能力和稳定性也不断增强,可以构建出非常优秀的Web应用系统.各组

Linux中详细搭建lamp架构

1.LAMP架构介绍 LAMP是Linux+Apache(httpd)+MySQL+PHP的简写,即把Apache.MySQL以及PHP安装在linux系统上,组成一个运行环境来运行PHP脚本语言,通常是网站.比如Google.淘宝.百度.51cto博客.猿课论坛等就是用PHP语言写出来的. 2.web服务器工作流程 在说lamp架构平台的搭建前,我们先来了解下什么的CGI,什么是FastCGI,什么是 web服务器的资源分为两种,静态资源和动态资源.静态资源就是指静态内容,客户端从服务器获得的

LAMP架构演进到LAMPGC,再演进到LNMLGC(linux+nginx+mysql+lua+gearman+C)

LAMP是一个大众的架构了,linux+apache+mysql+php 在我们系统的架构中,做了进一步的演进,linux+apahce+mysql+php+gearman+C php作页面的展示 核心业务逻辑由C语言实现,php通过gearman中间件调用C任务 由于apache在高并发方面不太给力,因此在需要高并发的场景中,我们进一步演进,linux+nginx+mysql+php+lua+gearman+C 页面部分由nginx+fastcgi+php-fpm来展示 高并发的业务调用由ng