【微信小程序开发】阿里云安装Apache中经验分享

应同学的请求,为其开发一款微信小程序,因为关系比较铁,所以就答应了,(当时也没想到很复杂,就利用平时的空闲时间开发一下,用自己租用的阿里云服务器开发咯,结果,没想到遇到了很多问题,或许是我自己技术比较菜了。)因为微信小程序请求需要https,正好阿里云上有免费一年的活动,所以就申请了一个,自己升级咯。将其中遇到的问题整理、总结一下,方便以后遇到问题,自己处理和解决:

https的获取就不用详细讲述了,刚开始安装,就找了一篇文章,原文地址:http://blog.51cto.com/zhuneianxiang/1951150,其中遇到了一些问题。

Apache是一个基金会的名字,httpd才是我们要安装的软件包
(早期它的名字就叫apache)
•Apache官网 www.apache.org
1.  进入 下载安装包目录:
[root@max ~]#  cd /usr/local/ src/
2.  下载 httpd , apr包 apr-util
4.  解包解压   httpd , apr包 apr-util
[root@max src]#  tar zxvf  httpd-2.4.33.tar.gz
[root@max src]#  tar zxvf   apr-util-1.6.1.tar.gz
[root@max src]#  tar zxvf   apr-1.6.3.tar.gz
5.   进入   apr  解压目录:
[root@max src]#  cd   /usr/local/src/ apr-1.6.3/
6.  编译: 指定存储目录(自动生成 apr ):
( 安装 依赖包: yum -y install   gcc )
[root@max apr-1.6.3]#  . /configure --prefix=/usr/local/ apr
7.   检验 上一条命令执行是否有错?(数值0为没问题):
[root@max apr-1.6.3]#  echo $?

8.  make安装和make install :
[root@max apr-1.6.3]#  make && make install

9.  进入 apr-util   解压目录:
[root@max apr-util-1.6.1]#  cd /usr/local/src/ apr-util-1.6.1
10.  编译: 指定存储目录(自动生成 apr-util ):
[root@max apr-util-1.6.1]#  ./configure --prefix=/usr/local/ apr-util  --with-apr= /usr/local/apr
11.   检验 上一条命令执行是否有错?(数值0为没问题):
[root@max apr-util-1.6.1]#  echo $?

12.  make安装和make install :
apr-util 执行make命令时报错: yum install -y  expat-devel(先执行比较好)
[root@max apr-util-1.6.1]#  make && make install

13.  进入 httpd  解压目录:
[root@max apr-util-1.6.1]#  cd /usr/local/src/ httpd-2.4.33/
14.  指定存储目录(自动生成 apache2.4 ):
报错,依赖包: yum install -y  pcre-devel
[root@max httpd-2.4.33]#  ./configure --prefix=/usr/local/ apache2.4  --with-apr= /usr/local/apr  --with-apr-util= /usr/local/apr-util  --enable-so --enable-mods-shared=most
15.  检验 上一条命令执行是否有错?(数值0为 没问题 ):
[root@max httpd-2.4.33]#  echo $?
16.  make安装和make install :
[root@max httpd-2.4.33]#  make
[root@max httpd-2.4.33]#  make install
本步可能存在问题:
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/local/httpd-2.4.33/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/httpd-2.4.33/support'
make: *** [all-recursive] Error 1
我们使用了 apr 1.6.2 的依赖,所以下面我们必须要用 apr-util 1.6.0 版本,apr-util 1.6.0
不再捆绑安装 expat ,但又需要 expat 的支持,所以我们得手动先安装 expat。不然编译 apache 的时候会报错
[root@max~]# tar jxf expat-2.2.3.tar.bz2
[root@max~]# cd expat-2.2.3/
[root@max~]# ./configure --prefix=/usr/local/expat
[root@max~]# make && make install
然后在安装安装 apr-util
回到第9步,重新安装 apr-util
17.  进入自动生成的 apache2.4  目录:
[root@max httpd-2.4.33]#  cd /usr/local/ apache2.4/
[root@max apache2.4]#  ls
bin 目录下:可执行文件
conf 目录下:配置文件
hodocs 目录下:访问页,访问的网站默认会放在这里。
logs 目录下:日志相关文件(错误日志,访问日志)
man 目录下:帮助文档
modules 目录下:扩展模块
18.  查看 apache 加载的模块:
[root@max apache2.4]#  /usr/local/ apache2.4 /bin/httpd  -M
或: [root@max apache2.4]#  /usr/local/ apache2.4/ bin/apachectl  -M
19.安装证书(来源:阿里云的教程)
文件说明:
1. 证书文件1532242234849.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件1532242234849.key、证书公钥文件public.pem、证书链文件chain.pem。
( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为1532242234849.key;
( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf
( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile cert/public.pem
# 证书私钥配置
SSLCertificateKeyFile cert/1532242234849.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/chain.pem
( 4 ) 重启 Apache。
( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置

遇到了问题


SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?).failed

解决方案:

vi httpd.conf

把这个前面的“#”号去掉,即可

20.   启动  apache2.4 (httpd):
[root@max apache2.4]#  /usr/local/ apache2.4 /bin/apachectl  start
21.  搜索  httpd 进程,查看是否启动
[root@max apache2.4]#  ps aux |grep  httpd
22.  查看端口号(httpd默认监听80端口):
[root@max apache2.4]#  netstat -lntp

猜你喜欢

转载自blog.csdn.net/xaioAdmin/article/details/81042908