在Arch Linux上使用Makepkg
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
本教程说明了如何在Debian 8(jessie)上设置Django。我将展示如何同时使用Python 2和3以及Nginx和PostgreSQL。
本教程中完成的所有操作均作为root用户完成。
首先,我们需要安装一些软件包。
对于Python 2:
apt-get install python-pip python-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc
对于Python 3:
apt-get install python3-pip python3-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc
首先,我们登录到user postgres。
sudo -u postgres -s
接下来,我们创建一个新的数据库。数据库名称可以是您想要的任何名称(dbname在此处使用),但是您必须与其余设置保持一致。
createdb dbname
为新数据库创建一个用户。同样,这可以是您想要的任何形式,但是我使用过dbuser。这也将要求您设置密码。
createuser -P dbuser
现在必须授予用户访问数据库的权限。只要确保使用正确的数据库名称和用户名即可。
psql
postgres=# GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;
postgres=# \q
退出到根目录。
exit
启用并启动PostgreSQL:
systemctl enable postgresql
systemctl start postgresql
我们将使用虚拟环境,而不仅仅是使用全局python文件。我们首先创建一个目录来保存所有内容。
mkdir -p /opt/project
现在,我们创建环境。对于python 2和3用户,这是不同的。
对于Python 2:
virtualenv . -p python
对于Python 3:
virtualenv . -p python3
输入虚拟环境。
source bin/activate
安装Django,gunicorn和psycopg2。
pip install django
pip install gunicorn
pip install psycopg2
如果您需要特定版本的Django,请更改install命令以匹配以下格式。本示例将安装1.7.8。
pip install django==1.7.8
现在我们已经完成了,因此我们可以停用虚拟环境。
deactivate
这是我们将项目上载到服务器的时间,我们确保所有设置均正确。您可以使用任何方法来执行此操作。FTP,SFTP,git等都是实现此目的的方法。如果您正在使用git跟踪项目的代码,则可以将其克隆到服务器。此git命令会将项目克隆到服务器,并将其放置在中/opt/project/project/。
git clone http://example.com:project.git
settings.py在任何文本浏览器中打开文件。
首先,调试模式需要关闭。查找该DEBUG = True行,然后更改True为False。此后,请确保已ALLOWED_HOSTS设置为某个值。
ALLOWED_HOSTS = ['*']
查找DATABASES字典,它应如下所示:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'dbname',
'USER': 'dbuser',
'PASSWORD': 'password you set',
'HOST': 'localhost',
'PORT': ''
}
}
这里的最后一步是设置静态根。将以下内容直接放在下面STATIC_URL。
STATIC_ROOT = '/opt/project/static/'
退出文件并创建静态根目录。
mkdir -p /opt/project/static
现在迁移数据库,创建一个超级用户,并收集所有静态文件。
cd /opt/project/project
../bin/python manage.py makemigrations
../bin/python manage.py migrate
../bin/python manage.py createsuperuser
../bin/python manage.py collectstatic
Gunicorn是我们将使用的WSGI服务器。由于Debian 8是systemd附带的,因此我们将利用systemd来启动和停止服务器。
创建文件/etc/systemd/system/django.service并添加以下内容。
[Unit]
Description=Django with Gunicorn
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/opt/project
ExecStart=/opt/project/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 project.wsgi
[Install]
WantedBy=multi-user.target
启用并启动我们创建的服务。
systemctl enable django.service
systemctl start django.service
您可能已经注意到我们将gunicorn服务器绑定到127.0.0.1。现在,我们需要一种从服务器外部访问它的方法。这就是Nginx出现的地方。
创建新文件/etc/nginx/sites-available/django并添加以下内容。domain.example.com可以将零件设置为任何您需要的零件。
server {
listen 80;
server_name domain.example.com;
access_log off;
location /static/ {
alias /opt/project/static/;
}
location / {
proxy_pass http://127.0.0.1:8000;
}
}
创建一个符号链接以启用此站点。
ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/django
启用并启动Nginx。
systemctl enable nginx
systemctl start nginx
恭喜,您现在在Debian VPS上建立了可运行的Django站点。
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息