一、卸载apache已安装的软件包

1、命令 rpm -qa |grep httpd ,查看系统中已安装的所有apache软件包列表

image.png
2、卸载软件包,注意从下往上一个一个地卸载,如果用户的权限不能进行卸载此软件,可以在命令前面加sudo。

  1. rpm -e --nodeps httpd-tools
  2. rpm -e --nodeps httpd

—nodeps是指卸载软件时,忽略依赖关系。卸载时不一定要写软件包的全称,只要写软件包名就可以了,如只要写httpd或httpd-tools。
image.png
卸载后再输入rpm -qa |grep httpd
如上图既卸载成功。

二,安装apache

1,下载

  1. yum install httpd

image.png

2,检查是否安装成功rpm -qa |grep httpd

image.png
若下载时非常慢或下载不成功则考虑换源,参考文章

3,配置文件

执行``**vi /etc/httpd/conf/httpd.conf **
按ESC键输入:/``**ServerName www.example.com:80**回车
image.png
输入”i”
**ServerName www.example.com:80**改为:
**ServerName localhost:80**
image.png
然后按esc 输入:wq回车

三,服务命令

1,httpd服务启动

**systemctl start httpd**
image.png
之前看了好多博客用的启动命令是
**service httpd start**因为是centos6的命令 , 所以centos7无法使用 。

2,设置为将httpd服务设为开机自动启动

systemctl enable httpd

3,然后查看httpd服务的运行状态

systemctl status httpd
image.png
Loaded行中的enabled表示该服务是开机自动启动的,disable表示该服务不是开机自动启动的

4,若不想使用开机自动启动则执行:

systemctl disable httpd<br />

5,其他命令

  1. 检查httpd服务是否处于活动状态
  2. systemctl is-active httpd.service
  3. 停止httpd服务
  4. systemctl stop httpd.service
  5. 重新启动httpd服务
  6. systemctl restart httpd.service

四、 通过yum源安装apache时常用文件存放位置

(1)配置文件默认在 /etc/httpd 目录下
/etc/httpd/conf.d:自己设定apache的参数信息,里面的文件应以xxx.conf结尾的文件,当apache启动的时候,这个文件会自动被读入到主要配置文件当中;
/etc/httpd/modules文件夹:存放httpd的模块
/etc/httpd/logs文件夹:里面有两个文件记录apache的所有的日志
access_log:默认访问Apache日志文件
error_log:错误日志文件
image.png
进入 cd conf 目录,/etc/httpd/conf/httpd.conf:配置Apache主要权限和功能的文件,是最重要的配置文件
(2)etc/init.d/httpd :启动文件
(3)存放网页的文件默认在
/var/www 目录下
/var/www/html:网页源文件文件存放的目录。
注意:
平常网页源文件都是直接保存在www目录下而这是
因为/etc/httpd/conf/httpd.conf中默认的目录 DocumentRoot=/var/www/html
/var/www/cgi-bin: 存放可执行的CGI(网页程序)程序
下面了解既可:**
(4)/usr/sbin/apachectl:这个apachectl是文件,是apache的主要执行文件,它可以主动检测系统上的一些设置值,可以使启动apache时更简单,相当于apache 的一些管理工具
(5)/usr/bin/htpasswd:登陆网页的时候,会提示输入账号和密码,而apache本身就提供一个最基本的密码保护方式,该密码的产生就是通过这个指令实现的。
参考文章:https://blog.csdn.net/qq_24394093/article/details/90550134

五,写个网页进行测试

1,创建网页

切换到/var/www/html目录下

  1. vi test.html//创建文件并打开
  2. 在文件中输入一下内容保存并退出:
  3. <!DOCTYPE html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title>恋爱官网。</title>
  9. </head>
  10. <body>
  11. <h4>青春不常在,抓紧谈恋爱!</h4><br>
  12. <form action="#" method="get">
  13. <table width="500">
  14. <tbody>
  15. <!-- 第一行 -->
  16. <tr>
  17. <td>性别:</td>
  18. <td>
  19. <input type="radio" name="sex" id="man"> <label for="man">男</label>
  20. <input type="radio" name="sex" id="woman"> <label for="woman">女</label>
  21. </td>
  22. </tr><br>
  23. <!-- 第二行 -->
  24. <tr>
  25. <td>生日:</td>
  26. <td>
  27. <!-- -->
  28. <select >
  29. <option>--请选择年--</option>
  30. <option>1995</option>
  31. <option>1996</option>
  32. <option>1997</option>
  33. <option>1998</option>
  34. <option>1999</option>
  35. <option>2000</option>
  36. <option>2001</option>
  37. <option>2002</option>
  38. </select>
  39. <!-- -->
  40. <select>
  41. <option>--请选择月--</option>
  42. <option>1</option><option>2</option><option>3</option>
  43. <option>4</option><option>5</option><option>6</option>
  44. <option>7</option><option>8</option><option>9</option>
  45. <option>10</option><option>11</option><option>12</option>
  46. </select>
  47. <!-- -->
  48. <select>
  49. <option>--请选择日--</option>
  50. <option>01</option><option>02</option><option>03</option><option>04</option><option>05</option><option>06</option>
  51. <option>07</option><option>08</option><option>09</option><option>10</option><option>11</option><option>12</option>
  52. <option>13</option><option>14</option><option>15</option><option>16</option><option>17</option><option>18</option>
  53. <option>19</option><option>20</option><option>21</option><option>22</option><option>23</option><option>24</option>
  54. <option>25</option><option>26</option><option>27</option><option>28</option><option>29</option><option>30</option>
  55. <option>31</option>
  56. </select>
  57. </td>
  58. </tr><br>
  59. <!-- 第三行 -->
  60. <tr>
  61. <td>所在地区:</td>
  62. <td><input type="text" maxlength="50" value="请输入您现在的地址:"></td>
  63. </tr>
  64. <!-- 第四行 -->
  65. <tr>
  66. <td>婚姻状况:</td>
  67. <td>
  68. <input type="radio" name="stat" id="wei"><label for="wei" >未婚</label>
  69. <input type="radio" name="stat" id="li"><label for="li" >离婚</label>
  70. <input type="radio" name="stat" id="yi"><label for="yi" >已婚</label>
  71. </td>
  72. </tr>
  73. <tr>
  74. <td>喜欢的类型:</td>
  75. <td>
  76. <input type="checkbox" name="like" id="chengshu" ><label for="chengshu">成熟</label> <input type="checkbox" name="like" id="xiaoxianrou"><label for="xiaoxianrou">小鲜肉</label>
  77. <input type="checkbox" name="like" id="keai"> <label for="keai">可爱</label><input type="checkbox" name="like" id="wumei"> <lable for="wumei">妩媚</lable>
  78. <input type="checkbox" name="like" id="all"> <lable for="all">全部</lable>
  79. </td>
  80. </tr>
  81. <!-- 自我介绍 -->
  82. <tr>
  83. <td>自我介绍:</td>
  84. <td><textarea>自我介绍一下。</textarea> </td>
  85. </tr>
  86. <tr><td colspan="2" align="center"><input type="submit" value="免费注册"></td></tr>
  87. </tbody>
  88. </table>
  89. </form>
  90. </body>
  91. </html>

2,查看ip地址

输入ifconfig
image.png
默认端口为80,
在浏览器中输入192.168.133.176:80/test.html
image.png

六,网页进不去的解决办法

但有些人可能进不去网页,我刚开始配置时就是无法打开网页。
下面进行排查。

1,是否开启apache服务

为了能够远程访问服务器的网页,我们首先需要确保apache的服务httpd已经运行中,我们使用命令查看对应服务的状态:
systemctl status httpd
如果如图所示显示正在运行,则表示服务已经开启,否则我们需要使用命令使httpd服务:service start httpd
image.png

2,80端口是否被占用

随后我们需要再判断下80端口是否被其他程序所占,使用如下命令查看:
netstat -lnp | grep 80
如果如图所示80端口是被httpd使用的则是OK,否则我们要进行操作改正,这里一般也不会出错。这里就不详述了
image.png

3,防火墙入站规则

(1)随后我们可以先看下系统防火墙是否开启,当其他服务都正常的时候,无法访问网页很大概率是没有正确配置防火墙所导致的,因此我们先使用如下命令判断下防火墙的状态,centos7 默认防火墙是firewalld
systemctl status firewalld.service
如果如下图所示,image.png则说明系统的防火墙正在运行,我们可以先尝试关闭防火墙,然后再访问网站。若能直接访问网站那么就确认是防火墙的问题。
(2)关闭防火墙:systemctl stop firewalld.service
image.png
(3)我就是关闭防火墙后发现可以正常访问了,确认好了根因,我们为了系统安全 需要重新开启防火墙,随后我们需要对访问80端口的tcp网络请求进行防火墙配置,我们需要首先重新启动防火墙
systemctl start firewalld.service
然后输入配置防火墙的命令并查看配置后的防火墙策略:

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --permanent --list-ports

image.png 完成后如图所示,
(5)配置完成后重启防火墙,
systemctl restart firewalld.service
远程访问服务器上的网页已经OK了
(6)若添加错了或想关闭端口
firewall-cmd --zone=public --remove-port=端口号/协议 --permanent
网站进不去的解决方法借鉴文章:https://jingyan.baidu.com/article/3ea51489882d1052e71bba43.html
(7)阿里云centos8服务器还要多一步,需在安全组规则中添加80端口
image.png

六,配置服务文件参数

服务目录 /etc/httpd
配置文件 /etc/httpd/conf/httpd.conf
网站数据目录 /var/www/html
访问目录 /var/log/httpd/access_log
错误日志 /var/log/httpd/access_log
参数
ServerRoot 服务目录
ServerAdmin 管理员邮箱
User 运行服务的用户
Group 运行服务的用户组
ServerName 网站服务器的域名
DocumentRoot 网站数据目录
Listen 监听的IP地址与端口号
DirectoryIndex 默认的索引页面
ErrorLog 访问日志文件
CustomLog 访问日志文件
Timeout 网页超时时间,默认为300秒。
Include 需要加载的其他文件