vlambda博客
学习文章列表

【大神笔记】搭建apache服务

web网站服务




  
    
    
  
Apache HTTP Server提供网页浏览服务
WISA W:Windows I:IIS S:SqlServer A:Asp LAMP L:Linux A:Apache M:Mysql P:PHP/Perl/Python LNMP L:Linux N:Nginx M:Mysql P:PHP/Perl/Python


安装apache




配置网卡:
  
    
    
  
vim /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.6.20 NETMASK=255.255.255.0

重启网卡:
  
    
    
  
systemctl restart network systemctl stop firewalld setenforce 0


  • util:软件工具包。
  • lib:库文件包。
  • devel:开发工具包。

tar方式安装apache:
  
    
    
  
APR:apache portable runtimeapache可移植环境 aprapr-util:通用开发组件

1)安装apr和apr-utils。

  
    
    
  
tar zxvf apr-1.5.2.tar.gz -C /usr/src/ cd /usr/src/apr-1.5.2/ ./configure --prefix=/usr/local/apr && make -j 4 && make install

tar zxvf apr-util-1.5.4.tar.gz -C /usr/src/ cd /usr/src/apr-util-1.5.4/ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make -j 4 && make install

2)使用yum安装apache的依赖关系
pcre-devel openssl-devel zlib-devel。

请手动插入光盘:
  
    
    
  
mount /dev/cdrom /media/ rm -rf /etc/yum.repos.d/* vim /etc/yum.repos.d/yum.repo [yum] name=yum baseurl=file:///media enabled=1 gpgcheck=0
yum -y install pcre-devel openssl-devel zlib-devel

3)安装apache。

tar zxvf httpd-2.4.25.tar.gz -C /usr/src/cd /usr/src/httpd-2.4.25/./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-mpms-shared=all --with-mpm=event --enable-deflate --enable-cgid --enable-modules=most --enable-shared=most --enable-ssl选项:--with-apr=/usr/local/apr:指定apr路径--with-apr-util=/usr/local/apr-util/:指定apr-util路径--enable-modules=most:支持大部分模块--enable-mods-shared=most:支持共享模块--enable-mpms-shared=all:支持共享MPM:多道处理模块(prefork,worker,event) 支持默认的MPM(apache2.2版本:默认支持prefork,apache2.4版本:默认支持event) prefork:单进程响应单请求(web服务器提空多个空闲进程,供客户端访问) worker:单进程多线程,每个线程响应一个请求 event:一个进程生成多个线程,每个线程响应多个请求--enable-deflate:支持内容压缩(web中压缩文本,httpd只能处理静态请求)--enable-cgid:支持线程MPMs--enable-ssl:支持sslmakemake install

安装完毕查看目录:
  
    
    
  
ls /usr/local/httpd/ bin:二进制文件 cgi-bin:通用网关接口 conf:配置文件 error:错误信息 错误日志:服务无法启动logs/error_log 错误信息:访问不了网站,返回个用户的页面。请求超时。 icons:图标 logs:日志 access_log:访问日志 error_log:错误日志 manual:帮助文档,官方网站的内容放这 modules:模块。和某一个应用程序对接需要到模块。 include:同文件。 htdocs:网页目录。 build:构建工具目录,编译安装都有。

优化执行路径:
  
    
    
  
ln -s /usr/local/httpd/bin/* /usr/local/bin/ ln -s /usr/local/httpd/include/* /usr/include/

添加httpd系统服务:
  
    
    
  
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd vim /etc/init.d/httpd #chkconfig:35 25 25 服务识别参数,在级别3、5中启动;启动和关闭的顺序分别为25、25 第一个25表示启动优先级 第二个25表示关闭优先级
将httpd服务添加到服务管理器
chkconfig --add httpd
设置开机自动启动
chkconfig httpd on

建立[service].service配置文件:
  
    
    
  
vim /lib/systemd/system/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 ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=On-failure RestartSec=42s

[Install] WantedBy=graphical.target 选项: Description:设置服务单元描述字符串。 After:设置服务单元的启动先后顺序。例如,httpd.service单元文件中出现“After=network.target”表示启动时先启动network.target,后启动httpd.service,关闭时顺序相反。与After字段相对应的还有一个Before字段,如httpd.service单元文件中出现“Before=network.target”表示启动时先启动httpd.service,后启动 network.target。 Type:设置服务进程的启动类型,需要注意的是,当启动类型为forking时需要同时设置 PIDFILE配置项,以帮助systemd准确定位到服务的主进程。 PIDFILE:设置服务的守护进程的PID文件。 ExecStart:设置服务启动时执行的命令。 ExecReload:设置服务重新加载时执行的命令。 KillMode:设置在单元停止时,杀死进程的方法.process表示仅杀死主进程。 Restart:设置服务进程正常退出、异常退出、被杀死、超时的时候,是否重启该服务,on -failure表示仅在进程异常退出时重启。 RestartSec:设置在重启服务前暂停多长时间,默认值是100毫秒(100ms)。 WantedBy:设置该服务所在的Target(运行目标)。WantedBy=graphical.target(图形界面多用户系统)是指.httpd所在的Target是graphical.target。这个设置非常重要,因执行“systemctl enable httpd.service”命令时,httpd.service的符号链接就会放在/etc/systemd/system目录下的graphical.target.wants子目录中。在系统进入 graphical.target运行目标时,该目录下的所有服务均开机启动。该配置项常用的 Target除了graphical.target之外,还有multi-user.target(非图形界面多用户系统)。


搭建一个小网站




  
    
    
  
修改主配置文件 vim /usr/local/httpd/conf/httpd.conf ServerName 192.168.6.10:80 203

vim /usr/local/httpd/htdocs/index.html 内容自定义

重启 systemctl restart httpd

开启客户端配置IP地址验证 firefox 192.168.6.10