安装LAMP会修复Django / MySQL配置问题吗?

时间:2017-09-27 20:01:20

标签: python mysql django web-deployment lamp

请原谅我提出的一个非常广泛的问题,但我好像是在四处走动。

我希望使用 MySQL 数据库构建/开发web应用程序并将其托管在我的RPi上。

在尝试这样做时,我了解到我需要一个网络服务器(apache2似乎是最近的那个),我需要创建一个application来他们之间的接口。

最初,我使用 Python 和Qt尝试构建一个应用程序作为界面,但发现事情并不简单,我以前使用 Python < / strong> / MySQL 连接器等。

几周后,我把事情联系起来,然后考虑建立它。很明显,Flask&amp; amp;由于框架,Django更适合于任务。

当我阅读它时,我发现DjangoGurls教程很容易理解,因此决定试一试,只需要用我自己的 PythonAnywhere.com 部署示例来解决它服务器..........卡住。

我的笔记本电脑/开发环境已经开始工作了,但服务器端的事情并没有表现出来。我知道它与 MySQL config/settings/permissions/path有关,但我无法确定它。

有许多不同的教程和命令可供尝试,我已经失去了数量,而且很多似乎已经过时了。

然后我发现LAMP会增加我的困惑,如果我一开始就知道这一点,这听起来很理想,但它不包括Django或Python,我需要(我认为)PHP所以我可以使用 PHPMyAdmin 来管理 MySQL

甚至可以在我已经拥有的东西上安装LAMP吗?  它会解决服务器端 MySQL 问题吗?

修改

我设法安装了pymysql,当我尝试运行runserver时,我在/etc/MySQL/my.cnf上遇到了配置解析器错误 来自/test_blog_app/blog pip list的输出低于(我不知道大多数是什么):

automationhat (0.0.4)
blinker (1.3)
blinkt (0.1.0)
Cap1xxx (0.1.3)
chardet (2.3.0)
click (6.6)
colorama (0.3.7)
cryptography (1.7.1)
drumhat (0.0.5)
enum34 (1.1.6)
envirophat (0.0.6)
ExplorerHAT (0.4.2)
Flask (0.12.1)
fourletterphat (0.0.2)
gpiozero (1.4.0)
idna (2.2)
ipaddress (1.0.17)
itsdangerous (0.24)
Jinja2 (2.8)
keyring (10.1)
keyrings.alt (1.3)
lxkeymap (0.1)
MarkupSafe (0.23)
mcpi (0.1.1)
microdotphat (0.1.3)
mote (0.0.3)
motephat (0.0.2)
numpy (1.12.1)
oauthlib (2.0.1)
phatbeat (0.0.2)
pianohat (0.0.5)
picamera (1.13)
picraft (1.0)
piglow (1.2.4)
pigpio (1.38)
Pillow (4.0.0)
pip (9.0.1)
pyasn1 (0.1.9)
pycrypto (2.6.1)
pygame (1.9.3)
pygobject (3.22.0)
pyinotify (0.9.6)
PyJWT (1.4.2)
PyMySQL (0.7.11)
pyOpenSSL (16.2.0)
pyserial (3.2.1)
pyxdg (0.25)
rainbowhat (0.0.2)
requests (2.12.4)
requests-oauthlib (0.7.0)
RPi.GPIO (0.6.3)
RTIMULib (7.2.1)
scrollphat (0.0.7)
scrollphathd (1.0.1)
SecretStorage (2.3.1)
sense-emu (1.0)
sense-hat (2.2.0)
setuptools (33.1.1)
simplejson (3.10.0)
six (1.10.0)
skywriter (0.0.7)
sn3218 (1.2.7)
spidev (3.0)
touchphat (0.0.1)
twython (3.4.0)
urllib3 (1.19.1)
Werkzeug (0.11.15)
wheel (0.29.0)

2 个答案:

答案 0 :(得分:0)

我不建议将LAMP堆栈用于您想要实现的目标。您已经选择python作为编程语言,并选择django作为应用程序的框架。

现在您需要面对系统管理员部分。在阅读关于MySQL时,您经常阅读phpmyadmin - 这是基于PHP的数据库服务器的图形用户界面。如果你想使用它,你需要PHP,这是正确的,但你也可以使用其他工具维护你的MySQL数据库。例如。名为mysql的命令行客户端或您在桌面上安装的MySQL Workbench

当您开始深入挖掘数据库世界时,有很多事情要发现。但不要犹豫。官方文档有一个相当不错的getting started部分。您只需要知道如何启动/停止服务器以及如何管理用户和权限。 Django通常会处​​理所有其他事情。当然,对SQL和数据库服务器有更深入的了解是很有用的 - 但最初并不需要它,并且有很多开发人员不知道比我上面描述的更多。

您也可以在RPi上使用sqlite - 它是一个基于文件的数据库,与django配合使用,非常易于维护。如果您不期望高负载和大量数据,它通常应该非常适合您的需求。并且无需安装和维护数据库服务器。

最后但并非最不重要的是,您需要一个为您的django应用提供服务的网络服务器。开发django时提供了一个内置的服务器,让您的生活更轻松。但是,当您在服务器(或RPi)上安装应用程序时,您应该选择一个真正的服务器。我更喜欢nginx + uwsgi用于python项目。但是你当然可以使用好的旧apache2。 django documentation是开始配置的好地方。

答案 1 :(得分:0)

问题是,安装LAMP会解决我的MySQL / Django配置问题,答案是否定的。在顶部安装LAMP会使事情变得更复杂。

1 - 安装PyMySQL而不是MySQLdb(主要是因为我在努力安装其他任何东西 2 - 使用my.cnf文件设置MySQL(根据各种指南),经过一些调整和修复拼写错误之后,这似乎是可操作的。
3 - 检查MySQL,相关的db / table中有Django数据

据我所知,Django现在正在使用MySQL数据库......

我现在必须弄清楚如何正确配置apache2,以便它可以为我提供Django,而无需使用端口号。我一直在寻找各种教程/命令,但还没有成功,所以会发布另一个问题。

最重要的建议 - 始终检查教程(或答案)的日期,并始终尝试使用最新的教程。我已经失去了无数小时的教程,这些教程已经过时了