直到使用CORESERVER创建Django网站
首先
我打算用Django创建一个网站,所以我在网上和书籍中收集了一些信息。虽然只完成了显示”Hello World!”的部分,但是因为有一些困难,我决定把它记录下来。
核心服务器
我找了几家托管服务器,其中CORESERVER提供了为期30天的免费试用。而在CORE-MINI的轻量级方案中,可以以每月198日元的低廉价格继续使用。我认为在免费试用期间可以进行网站建设,并且可以直接投入运营。
免费试用
由于注册方法等都是常见的,所以不再赘述。
注册后,确认电子邮件将发送到注册的电子邮件地址。
确认密码将在邮件中显示,在该邮件中的链接上进行确认操作。
创建服务器
仪表盘 (yí
SSH 登录
更改Shell
在CORESERVER上,默认shell被设置为rbash。我们将其更改为bash。
准备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选项来显示如下内容。
考试
关闭 CORESERVER 帐户
這篇文章發布後,我們關閉了本次測試使用的帳號。
我們參考了以下手冊,但步驟似乎有些變更。
CORESERVER 帳號已關閉。
链表
我会将参考网站的链接整理好。
・核心服务器
・关于.htaccess
・Django
・在XREA上运行Django
・在樱花租用服务器上运行pyenv和Django
・关闭CORESERVER帐户
・使用pyenv安装Python 3
有很多我没有列出的参考网站,但由于没有做记录所以省略了。希望对某人有所帮助。