Web.py是免费且轻量级的。亚马逊还为您提供一年免费的网络服务。如何在我的服务器上设置apache2?
答案 0 :(得分:2)
*编辑:格式化这是不可能的。我稍后会尝试这样做。我有这么漂亮的.txt文件,格式很棒。
如果不彻底,我道歉。我研究了如何为我的特定设置进行设置。然而,一些烦人的技巧已经解决,可能会帮助你设置它的旅程!!!
我不会引导您注册亚马逊。那里有一百万个教程。
确保你有一个亚马逊ec2实例并运行ubuntu 13.04。一旦您登录并启动了您的实例,请执行以下操作
*我已经省略了一些数字,因为它们与我们的申请相关并且没有帮助。
给自己root访问权限 sudo su(如果你这样做,你不需要sudo任何东西)
获取Apache 2
apt-get install apache2 apache2.2-common apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
获取点数 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
将密码设置为:您想要的密码
获取mod_wsgi
apt-get install libapache2-mod-wsgi
6.1检查其工作情况
service apache2 restart
将IP地址放在网络浏览器中查看是否有效
启用mod_rewrite
a2enmod重写
SFTP(filezilla)
8.1授予允许filezilla的权限
cd / var / www
mkdir legal #this是我们的主要目录。将它命名为您想要的任何内容
chown -R ubuntu / var / www /
chmod -R 755 / var / www /
8.2在Filezilla中连接
打开站点管理员
主持人:有些IP如54.213.173.233
港口:22
议定书:SFTP
登录类型:正常
用户:Ubuntu
通过:空
编辑 - >设置 - > SFTP:添加你的密钥
8.3使用Filezilla
9修改您的代码:
去你的main.py
9.1 Wsgifunc()
#add这些在你的主文件中的某个位置
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 goes here',pw = ' pas在这里',db ='')
9.2确保python可以找到所有文件
在你的文件的顶部 进口口 导入系统 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,模块) os.chdir(根) os.environ [" SCRIPT_NAME"] ='' os.environ [" REAL_SCRIPT_NAME"] =''
配置apache cd / etc / apache2 / sites-available
10.1更改默认文件 vim默认 改变一切: *我们的主文件夹名为/ legal。在其中我们有我们的图标和favicons等/静态。相应地更改这些
ServerAdmin webmaster @ localhost DocumentRoot / var / www / legal / DirectoryIndex main.py WSGIScriptAlias / / var / www / legal / 别名/ static / var / www / legal / static / 选项FollowSymLinks AllowOverride无 选项+索引+ FollowSymLinks + MultiViews #changed从非到FileInfo AllowOverride FileInfo选项 订单允许,拒绝 允许所有人 #ScriptAlias / cgi-bin / / usr / lib / cgi-bin / # #AllowOverride无 #Options + ExecCGI -MultiViews + SymLinksIfOwnerMatch #订单允许,拒绝 #允许所有人 # ErrorLog $ {APACHE_LOG_DIR} /error.log #可能的值包括:debug,info,notice,warn,error,crit, #resit,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 #this是我们的主文件所在的位置 vim .htaccess 然后加: SetHandler wsgi-script 选项+ 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)$ RewriteRule ^(。)$ 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'你想要什么密码'
12.1 create the database in sql
create database intravires;
###do whatever you need to do here
quit
13重启 service apache2 restart 13.1如果损坏,请检查日志: tail -f /var/log/apache2/error.log
14利润!