系列文章目录
Apache 安装及配置
服务安装
提示:以下操作只提供参考,优化。
检测配置正确性
D:\Apache24\bin> httpd.exe -t
安装服务
D:\Apache24\bin> httpd.exe -k install -n Apache24 #安装服务
卸载服务
D:\Apache24\bin> sc delete Apache24 #卸载服务
安装软件出现缺少VCRUNTIME140.DLL的解决方法
第一步,很显然,你所安装的软件缺少vcruntime140.dll,安装没有成功,请先卸载。我习惯使用:
开始菜单->控制面板->程序/卸载程序,进行卸载,当然,你也可以使用其他类似软件管家的工具进行卸载。
第二步,首先下载vc++2015,注意自己系统是32位还是64位的,下载对应版本。然后进行安装。
如果只出现了修复按钮,那说明你已经安装过了,点击修复。
这里提供 64位的vc++2015,32位的请自行百度“32位vc++2015”
链接: http://pan.baidu.com/s/1pLaRTRd 密码: un85到这里,对于32位的系统已经完成了vcruntime140.dll的修复工作,可以重新安装软件了。
而对于64位系统安装32位软件的同学,请注意接下来的步骤。
首先,下载vcruntime140.dll
链接: http://pan.baidu.com/s/1mi1wy3A 密码: r7n3
下载之后,解压文件,把32位的vcruntime140.dll复制到:
C:\Windows\SysWOW64里,在把,zhuce.bat复制到同级目录,双击运行;
当你看到:注册成功的字样,说明vrcuntime140.dll已经注册成功了。
https://jingyan.baidu.com/article/c85b7a645a5c98003aac957f.html.
提示:以下是本篇文章正文内容,下面案例可供参考
一、Apache2.4
1.下载解压版
下载地址: Apache24.
2.配置httpd.conf
1.修改SRVROOT 路径为解压目录
修改前:
Define SRVROOT “/Apache24”
ServerRoot “${SRVROOT}”
修改后:
Define SRVROOT “C:/Program Files/Apache Software Foundation/Apache24”
ServerRoot “${SRVROOT}”
#监听80端口
#Listen 12.34.56.78:80
Listen 80
2.Apache加载以下模块
mod_proxy.so
mod_proxy_ajp.so
mod_proxy_balancer.so
mod_proxy_connect.so
mod_proxy_http.so
例如:
LoadModule proxy_module modules/mod_proxy.so
3.引入http/https配置文件
- 引入http配置文件
#Virtual hosts
Include conf/extra/httpd-vhosts.conf
- 引入https配置文件
<IfModule ssl_module>
Include conf/extra/httpd-ssl.conf
#Include conf/extra/httpd-ahssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
3.配置httpd-vhosts.conf
<VirtualHost *:80>
ServerName zgbdx.xml-journal.net
ServerAlias zgbdx.xml-journal.net
ServerAlias 47.244.148.249
#ProxyRequests On
#RemoteIPHeader X-Forwarded-For
#反向代理开启
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
#以下重定向到https请求
Redirect permanent /Home/AimsScope https://www.virosin.org/
#从http模式转到https
RewriteEngine On
#RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTPS} =on
RewriteRule ^/docs/(.*)$ https://%{SERVER_NAME}/docs/$1 [L,R]
</VirtualHost>
4.配置httpd-ssl.conf
<VirtualHost _default_:443>
ServerName www.virosin.org:443
ServerAlias virosin.org:443
DocumentRoot "${SRVROOT}/htdocs"
ServerAdmin admin@microdone.cn
ErrorLog "${SRVROOT}/logs/error.log"
TransferLog "${SRVROOT}/logs/access.log"
SSLProxyEngine on
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
RewriteEngine On
#RewriteRule ^/ch/(.*) http://localhost:8080/article/doi/$1 [P,L]
#RewriteRule ^/CN/(.*) http://localhost:8080/article/doi/$1 [P,L]
#判断手机用户访问,地址跳转
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|mobile" [NC]
RewriteCond %{REQUEST_URI} !^/cn/article/app/
#RewriteRule ^/cn/article/(.*)$ https://%{SERVER_NAME}/cn/article/app/$1 [L,R]
</VirtualHost>
5.运行报错
如果你遇到了服务无法启动的情况,也不报错的,查看logs下的日志,首次安装报错如下:
AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
我想日志已经说的很清楚了,这里编译安装后,配置文件conf/httpd.conf没有开启mod_slotmem_shm模块,编辑该文件,放开
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
二、反向代理语法
1.参考资料
Rewrite语法: https://blog.csdn.net/diavid/article/details/80037708.