前言
apache与nginx的区别?
- 处理并发请求的能力: Apache使用多进程模型来处理并发请求,每个连接都会创建一个独立的进程或线程来处理。这种模型在高并发情况下会导致资源消耗较高,因为每个进程都会占用一定的内存。而Nginx采用事件驱动的异步非阻塞模型,可以更高效地处理大量并发请求,因此在高负载环境下表现更优秀。
- 内存消耗: 由于Apache使用多进程模型,每个进程都需要一定的内存,因此在高并发情况下内存消耗较大。相比之下,Nginx的内存消耗相对较低,因为它使用事件驱动的模型,能够更有效地利用系统资源。
- 配置文件语法: Apache的配置文件语法相对复杂,配置较为繁琐,需要更多的时间和精力来学习和理解。而Nginx的配置文件语法相对简洁和直观,易于阅读和理解,配置起来更加简便。
- 功能模块: Apache拥有丰富的模块和插件,可以支持各种功能和扩展,是一个功能强大且灵活的Web服务器。而Nginx虽然功能模块相对较少,但其性能优势和高效的处理能力使其在高负载环境下更受欢迎。
总结就是Apache是一个重量级而Nginx属于轻量级,Apache比较稳定,但复杂度高于Nginx。
一,安装
1. centos上安装Apache
在安装前我们可以更新系统的包管理器
yum update -y
在输入安装命令
yum install httpd -y
如图1-1安装完成
图1-1
1.1 基本使用
启动
systemctl start httpd
在启动出现以下错误“Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.”有以下几种思路解决:
- 查看80端口是否被占用(如图1-2被占用可以”kill -9 pid"掉进程)
netstat -pantl
kill -9 15648
图1-2我在启动的时候已经可以再次启动了如图1-3
图1-3
停止
systemctl stop httpd
检查
检查配置文件是否配置正常如图1-4(这是什么意思呢?就是你修改conf文件是否正确没有语法上的错误)
httpd -t
图1-4
测试运行
httpd -x
设置开机启动
httpd服务默认开机不启动我们需要设置开机启动如图1-5
systemctl enable httpd
图1-5
2. 部署web
我就以安装worepress网站来实战。
下载
点击链接https://cn.wordpress.org/latest-zh_CN.tar.gz
你也可以通过简单命令下载:
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
解压
tar -zxvf latest-zh_CN.tar.gz
如图2-1解压的文件夹
图2-1
安装mysql数据库
wordpress需要用到数据库,这里我使用mysql数据库你也可以使用其他数据库
wget -c https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
前面我们安装好rpm源就可以来安装mysql(如图2-2)
yum install mysql-server -y
“Total download size: 89 M”提示有89mb还是算不太大。
图2-2
如在安装过程遇到如图2-3
应该是mysql服务器rpm的key过期了我们可以导入最新的key
wget https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
导入key
rpm --import RPM-GPG-KEY-mysql-2023
图2-3在执行:install mysql-server -y
启动数据库
systemctl start mysqld
第一次进入数据库不知道默认初始密码,输入以下命令查找密码如图2-4
cat /var/log/mysqld.log
图2-4
开始进入数据库输入密码9a,&14UC8hc?成功进入如图2-5
mysql -u root -p
2-5
第一次进入mysql我们需要设置一个密码
alter user 'root'@'localhost' identified by 'demo@12345A';
最后刷新
//刷新权限
flush privileges;
退出
exit;
MySQL安装完成了;
ip: localhost (也可以是127.0.0.1)
用户:root
密码: demo@12345A
安装php7.3
https://blog.csdn.net/chpjmb/article/details/116402778
3.安装wordpress
我们回到解压的wordpress目录我们把这个文件复制到httpd的web文件“/var/www/html ”
cp -R wordpress/ /var/www/html/
如图3-1复制成功
图3-1
启动httpd
systemctl strat httpd
我回到浏览器上由于我是用虚拟机ip192.168.179.145来搭建的httpd我们访问如图3-2
图3-2
什么没有进入wordpress呢?
我们还需要设置以下主目录即可如图3-3
进入浏览器如图3-4点击现在开始
图3-4
填写自己数据库如图3-5(这里我盗一个图电脑虚拟机瘫痪了)
图3-5
这里就安装好了。
tmd虚拟机嗝屁了。
httpd命令语法解释
httpd [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
- -c<httpd指令> 在读取配置文件前,先执行选项中的指令。
- -C<httpd指令> 在读取配置文件后,再执行选项中的指令。
- -d<服务器根目录> 指定服务器的根目录。
- -D<设定文件参数> 指定要传入配置文件的参数。
- -f<设定文件> 指定配置文件。
- -h 显示帮助。
- -l 显示服务器编译时所包含的模块。
- -L 显示httpd指令的说明。
- -S 显示配置文件中的设定。
- -t 测试配置文件的语法是否正确。
- -v 显示版本信息。
- -V 显示版本信息以及建立环境。
- -X 以单一程序的方式来启动服务器。
httpd几个常用目录
#web文件目录
/var/www/html
#日志文件(报错)
/var/log/httpd/error_log
#访问日志
/var/log/httpd/access.log
主配置文件
/etc/httpd/conf
httpd常用的协议状态码解释
- 2xx 成功
- 200 OK:请求成功,服务器正常返回请求的内容。
- 201 Created:请求成功并且服务器创建了新资源。
- 204 No Content:请求成功,但服务器未返回任何内容。
- 3xx 重定向
- 301 Moved Permanently:请求的资源已永久移动到新位置。
- 302 Found:请求的资源临时移动到新位置。
- 304 Not Modified:客户端缓存有效,资源未修改,可以使用缓存的版本。
- 4xx 客户端错误
- 400 Bad Request:请求无效,服务器无法理解客户端发送的请求。
- 401 Unauthorized:未授权,需要进行身份验证。
- 403 Forbidden:服务器拒绝请求,客户端没有访问权限。
- 404 Not Found:请求的资源不存在。
- 5xx 服务器错误
- 500 Internal Server Error:服务器内部错误,无法完成请求。
- 502 Bad Gateway:服务器作为网关或代理,从上游服务器接收到无效响应。
- 503 Service Unavailable:服务器当前无法处理请求,通常是临时性的。
版权归原作者 冻风 所有, 如有侵权,请联系我们删除。