aws apache+ php环境,在ec2上部署apache+mod_python环境

最近要在aws上搭建一个小站,需要的环境是python环境,主要是面对的海外用户,在aws选的是新加坡节点,因为之前是写过一段时间的php程序,对lamp部署环境还是比较熟悉的,部署前先学习了下,有了个大概了解,就开始上手部署了,首先下载所用的安装包:

1、httpd-2.2.31.tar.bz2

2、mod_python-3.3.1.tgz

第一个包是apache源码包,第一个是mod_python模块,用来支持解析python 程序的,这里要说一下,apache不管是跟php或者python,其实原理是基本一样的,php是需要安装php源码包,安装完后用来解析php程序,python也是一样,apache需要加载一个模块来支持python解析。

正式开始安装:

下载源码包:

#wget ftp://mirrors.sohu.com/apache/httpd-2.2.31.tar.bz2

#wget http://archive.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz

1

2

3

下载源码包:

#wget ftp://mirrors.sohu.com/apache/httpd-2.2.31.tar.bz2

#wget http://archive.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz

首先安装apache

#tar -jxvf httpd-2.2.31.tar.bz2

#cd httpd-2.2.31

#./configure --prefix=/usr/local/apache2 --enable-cgi --enable-modules=all --enable-mods-shared=all --enable-cache --enable-mem-cachec --enable-headers --enable-ssl --enable-http --enable-rewrite --enable-so

#make

#make install

1

2

3

4

5

#tar -jxvf httpd-2.2.31.tar.bz2

#cd httpd-2.2.31

#./configure --prefix=/usr/local/apache2 --enable-cgi  --enable-modules=all --enable-mods-shared=all --enable-cache --enable-mem-cachec --enable-headers --enable-ssl --enable-http --enable-rewrite --enable-so

#make

#make install

安装mod_python

#tar -zxvf mod_python-3.3.1.tgz

#cd mod_python-3.3.1

#./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/bin/python

#make

#make install

1

2

3

4

5

#tar -zxvf mod_python-3.3.1.tgz

#cd mod_python-3.3.1

#./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/bin/python

#make

#make install

在安装mod_python时报错,

make[1]: *** [mod_python.so] Error 1

1

make[1]:***[mod_python.so]Error1

最终从度娘那里找到了解决方案,真是感谢呀,呵呵,解决如下:

解决方法:

编辑 /root/soft/mod_python-3.3.1/src/connobject.c 的 142 行:

!(b == APR_BRIGADE_SENTINEL(b)

改成:

!(b == APR_BRIGADE_SENTINEL(bb) 即:改成两个b

1

2

3

4

5

解决方法:

编辑/root/soft/mod_python-3.3.1/src/connobject.c的142行:

!(b==APR_BRIGADE_SENTINEL(b)

改成:

!(b==APR_BRIGADE_SENTINEL(bb)即:改成两个b

到这里都安装完了,开始编辑 httpd.conf加入mod_python模块支持:

在加载模块段加入

LoadModule python_module libexec/mod_python.so

在网站主目录加入

AddHandler mod_python .py

PythonHandler index

PythonDebug On

1

2

3

4

5

6

在加载模块段加入

LoadModulepython_modulelibexec/mod_python.so

在网站主目录加入

AddHandlermod_python.py

PythonHandlerindex

PythonDebugOn

开始启动apache

#/usr/loacl/apache2/bin/apachectl start

httpd: Syntax error on line 118 of /home/dantezhu/apache/conf/httpd.conf: Cannot load /home/dantezhu/apache/libexec/mod_python.so into server: /home/dantezhu/apache/libexec/mod_python.so: cannot open shared object file: No such file or directory

1

2

#/usr/loacl/apache2/bin/apachectl start

httpd:Syntaxerroronline118of/home/dantezhu/apache/conf/httpd.conf:Cannotload/home/dantezhu/apache/libexec/mod_python.sointoserver:/home/dantezhu/apache/libexec/mod_python.so:cannotopensharedobjectfile:Nosuchfileordirectory

又是报错,真是多灾多难呀,根据报错提示是说libexec下没有这个mod_python.so模块,我ls 看了下,别说模块,我连这个鸟目录都没发现,不知道不是我版本问题,不管那么多了,新建目录,然后拷贝mod_python.so到这个目录下:

#mkdir libexec

#cp modules/mod_python.so libexec/

1

2

#mkdir libexec

#cp modules/mod_python.so libexec/

然后再启动apache ,就OK了,看下进程都已经启动了,登录测试页,一切显示正常,大功告成,今天就学习到这里,睡觉了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个部署 Ktor 的 k_server 服务于 AWS EC2 实例上的简单步骤: 1. 创建 AWS EC2 实例并连接到实例上: 首先,您需要在 AWS 上创建 EC2 实例并连接到实例。您可以使用 SSH 客户端连接到实例。对于 Windows 用户,可以使用 PuTTY 连接到实例。 2. 安装 Java: 在连接到实例后,请使用以下命令在 EC2 实例上安装 Java: ```bash sudo apt-get update sudo apt-get install openjdk-8-jdk ``` 3. 上传并运行服务: 将您的 k_server 文件上传到 EC2 实例上。您可以使用 scp 命令将文件从本地系统上传到 EC2 实例上: ```bash scp -i <your-key-pair>.pem k_server.jar ubuntu@<public-dns-name>:~/ ``` 接下来,您可以在 EC2 实例上运行您的 k_server 服务,使用以下命令: ```bash java -jar k_server.jar ``` 4. 使用 Nginx 部署 k_server 服务: 为了更好的性能和安全性,建议使用 Nginx 部署您的 k_server 服务。 首先,安装 Nginx: ```bash sudo apt-get install nginx ``` 然后,配置 Nginx 以反向代理 k_server 服务。在 /etc/nginx/sites-available/default 文件中,添加以下配置: ```nginx server { listen 80; server_name example.com; location / { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` 保存并关闭该文件,然后重启 Nginx 服务: ```bash sudo service nginx restart ``` 现在,您的 k_server 服务已经通过 Nginx 部署AWS EC2 实例上了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值