Linux系统下Apache、Nginx的搭建与配置

一、Apache 服务的搭建与配置

1.1 Apache 介绍

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

Apache主程序名:httpd。

多实例:在同一台服务器上启动多个相同apache进程。只要端口不一样就可以。

1.2 yum 安装

(1)关闭防火墙和selinux

systemctl stop firewalld     --临时关闭防火墙
systemctl disable firewalld  --永久关闭防火墙
setenforce 0                 --临时关闭selinux
vim /etc/sysconfig/selinux   --永久关闭selinux,如下图所示

在这里插入图片描述
(2)安装Apache并启动服务

yum install -y httpd      --安装Apache 
systemctl start httpd     --启动Apache服务

(3)设置开机自启动

systemctl enable httpd
echo 'systemctl start httpd' >> /etc/rc.local

Apache也可通过编译安装,不过要安装各种依赖包,比较麻烦。再看看我们的yum安装,方便快捷且高效。

1.3 Apache 目录介绍

默认主页名称:index.html
系统产生的apache账户的家目录:/var/www
默认网站发布目录:/var/www/html  

(1)apache的工作目录(基准目录)

conf       --存储配置文件
conf.d     --存储配置子文件
logs       --存储日志 
modules    --存储模块
run        --存储Pid文件,存放的pid号码。是主进程号

(2)主配置文件

vim /etc/httpd/conf/httpd.conf 
====================================================================================
ServerRoot "/etc/httpd"             --工作目录
Listen 80                           --监听端口
Listen 192.168.2.8:80               --指定监听的本地网卡 可以修改
User apache    					    --子进程的用户,有可能被人改称www账户
Group apache   						--子进程的组
ServerAdmin root@localhost  		--设置管理员邮件地址
DocumentRoot "/var/www/html"        --发布网站的默认目录,想改改这里。
IncludeOptional conf.d/*.conf       --包含conf.d目录下的*.conf文件

(3)设置DocumentRoot指定目录的属性

<Directory "/var/www/html">   		--网站容器开始标识
Options Indexes FollowSymLinks   	--找不到主页时,以目录的方式呈现,并允许链接到网站根目录以外
AllowOverride None               	--none不使用.htaccess控制,all允许
Require all granted                 --granted表示运行所有访问,denied表示拒绝所有访问
</Directory>    					--容器结束
DirectoryIndex index.html      		--定义主页文件,当访问到网站目录时如果有定义的主页文件,网站会自动访问

二、Nginx 服务的搭建与配置

2.1 Nginx 介绍

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占用内存少,并发能力强。事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

2.2 yum 安装

(1)去nginx官网下载安装包
(2)关闭防火墙关闭selinux

systemctl stop firewalld     --临时关闭防火墙
systemctl disable firewalld  --永久关闭防火墙
setenforce 0                 --临时关闭selinux
vim /etc/sysconfig/selinux   --永久关闭selinux(修改配置文件)
getenforce     --查看selinux状态

(3)进行yum方式安装

  • 配置nginx的yum源
cd /etc/yum.repos.d/
vim nginx.repo          
====================================================================================
[nginx]
name=nginx
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
  • 清理并建立缓存
yum clean all    --清理缓存
yum makecache    --建立缓存
  • 安装nginx
yum install -y nginx          --安装nginx

(4)启动nginx服务

systemctl start nginx         --启动
systemctl restart nginx       --重启
systemctl enable nginx        --设置开机启动
systemctl stop nginx          --关闭

(5)测试nginx主页

curl -I http://127.0.0.1
========================================================================================
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Sat, 16 Nov 2019 10:49:48 GMT
Content-Type: text/html
Content-Length: 635
Last-Modified: Fri, 11 Oct 2019 06:45:33 GMT
Connection: keep-alive
ETag: "5da0250d-27b"
Accept-Ranges: bytes

在这里插入图片描述
(6)nginx配置文件

  • nginx主配置文件
/etc/nginx/nginx.conf
  • nginx虚拟主机配置文件
vi /etc/nginx/conf.d/default.conf
====================================================================================
server {
    listen       80;         #监听的端口
    server_name  localhost;  #设置域名或主机名
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;   #日志存放路径
    location / {                        #匹配请求路径
        root   /usr/share/nginx/html;   #默认网站发布目录
        index  index.html index.htm;    #默认打开的文档
    }

2.3 编译安装

(1)去nginx官网下载安装包
(2)解压到指定目录

mkdir /usr/local/nginx/
tar xzvf nginx-1.18.0.tar.gz -C  /usr/local/nginx/

(3)安装gcc等编译环境

yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make glibc automake autoconf      #先一顿操作给它安装所需编译环境

(4)configure工具编译

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

注意:configure编译中将临时文件目录指定为/var/temp/nginx,故需要在/var下创建temp及nginx目录。

mkdir /var/temp/nginx/client -p

(5)nginx安装

make && make install

(6)启动nginx服务

cd /usr/local/nginx/sbin/    #先进入sbin目录下
./nginx                      #启动nginx
./nginx -s reload            #刷新配置文件

nginx测试页面,如下图所示:
在这里插入图片描述
(7)关闭nginx

cd /usr/local/nginx/sbin/    --先进入sbin目录下
./nginx -s stop              --关闭nginx
./nginx -s quit              --或者quit关闭nginx

(8)nginx的主配置文件

/usr/local/nginx/conf/nginx.conf     --编译安装的nginx主配置文件路径
/etc/nginx/nginx.conf                --yum安装的nginx主配置文件路径

同样可以添加虚拟主机,注意添加的时候是在http节点中添加以及配置文件的所在路径:

在这里插入图片描述

三、总结

  • Apache、Nginx都是我们Linux系统中主流的服务器,各自都有不同的工作特性。
  • Apache相对Nginx来说:rewrite比Nginx强大;具有丰富的模块组件支持;bug少、稳定性强。
  • Nginx相对Apache来说:轻量级,内存及资源占用少;抗并发能力强,其处理请求是异步非阻塞型的,而Apache则是阻塞型的,因此Nginx在高并发情况下能保持低资源低消耗的高性能特点;高度模块化的设计,编写模块相对简单。
  • 一般来说,需要性能的web服务,可采用高并发、反向代理能力强的Nginx服务器;如果不需要性能,只要求服务器的稳定,那就采用Apache服务器。
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算-Security

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值