不处理用户请求的服务器端 .rb 脚本(例如由 cron 运行的脚本)去哪里?
我正在构建一个网站(托管在 GoDaddy 上),该网站将显示通过另一个网站的 API 获取的数据的图形和图表。另一个网站每天只更新一次数据,因此我只需每天调用一次 API 即可获取最新信息。这是我的计划:
我的托管服务器文件系统上的 Ruby 脚本执行 API 调用,并将相关信息保存到该本地文件系统上的 .txt 文件。
另一个 Ruby 脚本根据这些 .txt 文件中的一堆不同的数据片段生成一大堆 PHP 文件。 (PHP 文件是处理用户请求的)
以上两个脚本都作为 cron 作业运行,每天一次。
重新表述我的问题:与用户请求无关的服务器端脚本放置在网站的文件系统中的哪里,特别是如果用户永远不应该看到它们甚至不知道它们存在的话? (或者我是否错误地认为像 /ruby/script.rb
这样的设置是不好的做法,因为人们可以通过网络浏览器直接访问该文件?)
或者我的整个方法是否存在根本缺陷?我应该澄清一下,我做这个项目是为了自学 Ruby 并了解更多有关 Web 开发的知识。
I'm building a website (hosted on GoDaddy) that will display graphs and charts about data obtained via another website's API. The other website updates its data only once a day, so I only need to make an API call once a day to get up-to-date info. Here's my plan:
A Ruby script on my hosting server's filesystem does the API call, and saves relevant info to .txt files on that local filesystem.
Another Ruby script generates a whole bunch of PHP files based on a bunch of different slices and dices of the data in those .txt files. (The PHP files are what process user requests)
Both of the above scripts are run as cron jobs, once per day.
To rephrase my question: Where do server-side scripts, which are agnostic toward user requests, get placed on the website's file system, specifically if a user is never supposed to see them or even really know they exist? (Or am I mistaken in assuming a setup like /ruby/script.rb
is bad practice because people could directly access that file via a web browser?)
Or is my whole approach to this fundamentally flawed? I should clarify that I'm doing this project to teach myself Ruby and learn more about web development.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果由系统管理员放置,则在
/srv
下;如果打包,则在/usr/share/
下。Under
/srv
if placed by the sysadmin, in/usr/share/<appname>
if packaged up.当它们供您使用时,仅由您决定。对于在命令行上运行的命令,我通常将它们放在 ~/bin 中。它们使用的共享文件放在 ~/lib 中,或者您可以为 lib 文件创建一个 bin 子目录:~/bin/lib。
正在开发的文件/应用程序通常位于 ~/dev 或 ~/development 目录中。
When they're for your use only it's up to you. For commands that run on the command-line, I usually put them in ~/bin. Shared files used by them go in ~/lib, or you can create a subdirectory of bin for the lib files: ~/bin/lib.
Files/apps under development usually go in a ~/dev or ~/development directory.