Web.py 是免费且轻量级的。亚马逊还为您提供一年的免费网络服务。如何在我的服务器上设置 apache2?
1 回答
*编辑:格式化这是不可能的。我稍后会尝试做。我有一个写得很漂亮的 .txt 文件,格式非常棒。
如果这不彻底,我很抱歉。我研究了如何为我非常具体的设置进行设置。但是,一些烦人的技巧已经解决,可能会帮助您进行设置!!!
我不会引导你注册亚马逊。那里有一百万个教程。
确保您已为 ubuntu 13.04 启动并运行亚马逊 ec2 实例。登录并启动实例后,请执行以下操作
*我省略了一些数字,因为它们特定于我们的应用程序并且没有帮助。
给自己 root 访问权限
sudo su (如果你这样做,你不需要 sudo 任何东西)获取 Apache 2
apt-get install apache2 apache2.2-common apache2-mpm-prefork apache2-utils libexpat1 ssl-cert获取 Pip
apt-get install python-pip获取 web.py
pip install web.py获取 MySQL
apt-get install python-mysql.connector python-mysqldb mysql-client-core-5.5 mysql-server
set password to: any password you want获取 mod_wsgi
apt-get install libapache2-mod-wsgi6.1 检查它的工作
服务 apache2 restart
在网络浏览器中输入 ip 地址看它是否工作启用 mod_rewrite
a2enmod 重写SFTP (filezilla) 8.1 授予在 cd /var/www mkdir legal #this 是我们的主目录
中允许 filezilla 的权限。随意命名 chown -R ubuntu /var/www/ chmod -R 755 /var/www/ 8.2 在 Filezilla 打开站点管理器 主机中连接:一些 ip,如 54.213.173.233 端口:22 协议:SFTP 登录类型:普通 用户: Ubuntu Pass: empty Edit -> Setting -> SFTP: add your key 8.3 Add all your code Using Filezilla
9 修改你的代码:
转到你的 main.py
9.1 Wsgifunc()
#在你的主文件中添加这些
app = web.application(urls, globals(),autoreload=False)
application = app.wsgifunc() web.config。 debug = True # 改为False
db = web.database(dbn='mysql', host='127.0.0.1', port=3306, user='user去这里', pw='pas去这里', db=' ')
9.2 确保python可以找到你所有的文件
在文件顶部 import os import sys root = os.path.join(os.path.dirname( file )+"/") sys.path.insert(0, root) modules = os.path.join(os .path.dirname( file )+"/server/") sys.path.insert(1, modules) os.chdir(root) os.environ["SCRIPT_NAME"] ='' os.environ["REAL_SCRIPT_NAME"] = ''
配置 apache cd /etc/apache2/sites-available
10.1 更改默认文件 vim default 将所有内容更改为: *我们的主文件夹称为 /legal。在其中,我们在 /static 中有我们的图标和网站图标等。相应地更改这些
注意,警告,错误,暴击,# 警报,emerg。LogLevel 信息 CustomLog ${APACHE_LOG_DIR}/access.log 组合
10.2 测试是否有错误 apachectl configtest
10.3 监视配置文件时的错误(可选)tail -f /var/log/apache2/error.log 和
11 创建一个 .htaccess 文件 cd /var/www/legal #这是我们的主文件所在的位置 vim .htaccess 然后添加: SetHandler wsgi-script Options +ExecCGI +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !^favicon. ico$ RewriteCond %{REQUEST_URI} !^(/.*)+main.py/ RewriteCond %{REQUEST_URI} !^(/. )+.(css|png|js|jpg|ttf|otf|gif|ico)$重写规则 ^(. )$ main.py/$1 [PT]
#for reals, it never copies correctly... just a heads up
12 设置数据库
cd /var/www/legal/server/subapplications mysql -u root -p'whatever password you want'
12.1 create the database in sql
create database intravires;
###do whatever you need to do here
quit
13 重启服务 apache2 restart 13.1 如果坏了,检查日志:tail -f /var/log/apache2/error.log
14 利润!