直到使用CORESERVER创建Django网站

首先

我打算用Django创建一个网站,所以我在网上和书籍中收集了一些信息。虽然只完成了显示”Hello World!”的部分,但是因为有一些困难,我决定把它记录下来。

核心服务器

我找了几家托管服务器,其中CORESERVER提供了为期30天的免费试用。而在CORE-MINI的轻量级方案中,可以以每月198日元的低廉价格继续使用。我认为在免费试用期间可以进行网站建设,并且可以直接投入运营。

免费试用

由于注册方法等都是常见的,所以不再赘述。

0003A.png

注册后,确认电子邮件将发送到注册的电子邮件地址。
确认密码将在邮件中显示,在该邮件中的链接上进行确认操作。

创建服务器

0010A.png

仪表盘 (yí

0012A.png
0016A.png

SSH 登录

0017A.png

更改Shell

在CORESERVER上,默认shell被设置为rbash。我们将其更改为bash。

0020A.png

准备Python

安装 pyenv

在CORESERVER上,已安装了Python 2.7.5和Python 3.5.1。(截至文章创建时)
但为考虑到操作性,我们将使用pyenv。

首先,将pyenv复制到本地

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

将以下内容添加到 .bash_profile 文件中。

export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"

应用设定。

$source .bash_profile

在 pyenv 上安装 python。

使用 pyenv install –list 命令可确认可安装的Python版本。最新版本是3.7.0,我们选择了这个版本。

$ pyenv install 3.7.0
Downloading Python-3.7.0.tar.xz...
-> https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
Installing Python-3.7.0...
Installed Python-3.7.0 to /virtual/twinoze201809/.pyenv/versions/3.7.0

完成该命令花费了几分钟的时间。

在pyenv中指定要使用的Python版本。
如果选择全局,则在整个系统上生效。

$ pyenv version
system (set by /virtual/twinoze201809/.pyenv/version)
[twinoze201809@m1001 ~]$ pyenv global 3.7.0
[twinoze201809@m1001 ~]$ pyenv version
3.7.0 (set by /virtual/twinoze201809/.pyenv/version)

在.bashrc中添加以下内容。使pyenv默认启用。

export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"

export PYTHONPATH=/virtual/twinoze201809/.pyenv/versions/3.7.0/lib/python3.7/site-packages

进行设置更新。

$source .bash_profile

当检查Python的版本时,我们可以确认它是否得到了反映。

$ python -V
Python 3.7.0 (default, Sep 20 2018, 11:54:11)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]

确认已安装的Python包。

$ python -m pip list
Package    Version
---------- -------
pip        10.0.1
setuptools 39.0.1
You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

由于建议对pip进行升级,因此我将进行升级。

Django 的配置

使用 pip 安装 Django。

$ python -m pip install django
...
Installing collected packages: pytz, django
Successfully installed django-2.1.1 pytz-2018.5

创建Django测试项目

根据Django教程创建一个作为测试用的项目。

我试图按照教程来创建项目。

$ django-admin startproject mysite
-bash: django-admin: command not found

因为找不到命令,所以被责备了。
于是,我添加了以下这一行。

export PATH=/virtual/twinoze201809/.pyenv/versions/3.7.0/bin:$PATH

随后,再次使用django-admin命令来创建项目。

编辑mysite项目

为了简单起见,我直接在mysite中定义了视图。

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world.")
from django.contrib import admin
from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('admin/', admin.site.urls),
]

将服务器的URL设置给settings.py中的ALLOWED_HOSTS。

ALLOWED_HOSTS = ['twinoze201809.m1001.coreserver.jp']

在公开目录中定义django.cgi

参考Sakura的租用服务器上运行pyenv和Django,将python3专用的django.cgi文件放置在public_html/目录下。

$ wget --no-check-certificate https://raw.githubusercontent.com/chibiegg/django-cgi/master/django-python3.cgi

编辑 django.cgi

根据环境进行编辑配置文件的内容。

$ which python
~/.pyenv/versions/3.7.0/bin/python
#!/virtual/twinoze201809/.pyenv/versions/3.7.0/bin/python

在import os, sys的下一行添加指定Django项目路径的代码。

sys.path.append('/virtual/twinoze201809/mysite')

将以下内容添加到 environ = dict(os.environ.items()) 的下一行。

    environ['PATH_INFO']         = environ.get('PATH_INFO', "/")

请将以下的行数目在行末附近

os.environ['DJANGO_SETTINGS_MODULE'] = 'application.settings'

我会进行如下修改。

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

我将 Django-Python3.cgi 的名称更改并赋予了执行权限。

# mv django-python3.cgi django.cgi
$ chmod 705 django.cgi

设置.htaccess文件的配置

打开网站时,设置执行上述的django.cgi。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /django.cgi/$1 [QSA,L]

[2019/01/13 更新]
请将 .htaccess 文件放置在 ~/public_html/ 目录下。

有关.htaccess的内容。

[2019/01/13 附注]
我收到了关于这个项目的问题。
确实,可能我的解释太简单了(^^ゞ
.htaccess是Apache服务器的辅助配置文件。
Apache的(基本)配置文件存放在/etc/httpd/conf/httpd.conf中。
(可能会根据设置方式有所不同)

httpd.conf是用作Apache的通用设置,但为了在每个公共目录中进行个别设置,可以使用.htaccess。

由于在CORESERVER上,服务器的操作系统和Apache服务器都与其他用户共享,因此无法针对单个用户进行通用配置的修改。
因此,我们需要使用.htaccess文件来进行每个用户的个别设置。

关于.htaccess的问题,第二部分

在Linux系统中,以点号开头的文件类似于.htaccess文件,被视为隐藏文件。因此,普通的

$ls

这个命令不会显示。因此,

$ls -a

请使用-a选项来显示如下内容。

考试

0021A.png

关闭 CORESERVER 帐户

這篇文章發布後,我們關閉了本次測試使用的帳號。
我們參考了以下手冊,但步驟似乎有些變更。
CORESERVER 帳號已關閉。

链表

我会将参考网站的链接整理好。

・核心服务器
・关于.htaccess
・Django
・在XREA上运行Django
・在樱花租用服务器上运行pyenv和Django
・关闭CORESERVER帐户
・使用pyenv安装Python 3

有很多我没有列出的参考网站,但由于没有做记录所以省略了。希望对某人有所帮助。

广告
将在 10 秒后关闭
bannerAds