Hostwinds 教程
寻找结果为:
目录
标签: Ubuntu
Python是某些Web开发人员的流行语言。 它具有框架和Django等框架,可以加快边缘Web开发。 本指南将介绍如何在Hostwinds VPS服务器上获取Django框架,以通过Internet服务。
系统上的大多数服务不需要以root身份运行,出于安全原因,我们将设置一个非root用户来运行本指南中的其余命令。您可以将此用户打电话。在这里,我正在创建一个名为"用户"的用户:
adduser user
然后应该提示您输入此新用户的密码,创建您可以记住的密码,并使其他人猜测。它也会要求提供一些其他信息,但如果将所有这些字段留空,则不应影响任何内容。现在,我们确实希望这个用户运行一些根命令,所以对于我的"用户",我将把它们添加到一个名为"sudo"的组。
usermod -aG sudo user
这将使用户能够使用用户的密码使用"sudo"以"sudo"为运行正常保护的命令。
现在,使用"退出"命令,并将重新登录到服务器 使用SSH 作为您设置的用户。对于我们刚刚设置的用户,用户名将为"用户",并且当您运行adduser命令时,密码将是您设置的密码。
要使用Django,您需要设置一个Python环境。首先使用这些命令将软件更新到最新版本:
sudo apt update && sudo apt upgrade
现在,我们需要一些系统范围的软件。 值得庆幸的是,我们需要的一切都可以从Ubuntu存储库中获得,可以使用APT-GET安装。
sudo apt-get install python3-pip nginx
安装了系统级软件后,我们可以构建私有Django环境。 跑:
mkdir public_html
cd public_html
python3 -m venv django_serve
这将创建一个名为django_serve的文件夹,其中包含一些东西。 它有自己的版本的Python,当我们激活源文件时,使用PIP安装的软件将进入该目录而不是系统范围内。 下一步是激活私有Python文件并安装django。
source django-serve/bin/activate
现在,我们可以安装Django并使用以下命令启动Django项目:
pip install django
django-admin startproject my_site
要允许我们的Web服务器访问Django,我们需要将域添加到允许的主机。 您可以使用命令行文本编辑器在命令行上编辑或编辑文件。 许多人在Linux上可用,我们将在本指南中使用Nano。
使用nano,在mysite目录中编辑文件设置。如此:
nano mysite/settings.py
在文件中,找到读取的行:允许_hosts = []。
在括号中,使用引号添加您的网站的域名:
ALLOWED_HOSTS = ['yourdomain.com', 'www.yourdomain.com']
按下Control-x退出Nano当它要求保存时,按"Y"。
您可以使用deactivate命令返回常规shell。
创建一个新站点后,我们可以将注意力转向设置uWSGI。
UWSGI是一个协议软件,可在Python代码和WebServer软件之间进行通信。 为简单起见,我们将只能使用一个UWSGI实例。 我们将为我们的项目设置一个配置文件,并在后台创建一个系统服务以运行它。
首先,我们需要编写一个文件来配置uWSGI。
再一次,我们将使用nano编写文件:
nano mysite.ini
这是让我们开始的准系统INI文件:
#/home/user/public_html/mysite.ini
[uwsgi]
socket = 127.0.0.1:10080
chdir = /home/$USER/public_html/my_site
module = my_site.wsgi:application
processes = 4
threads = 2
使用您使用的用户名替换上面的$用户,并使用域名yuxite。
设置UWSGI后,我们需要获得Linux在后台自动运行它。大多数现代Linux发行版用系统D软件管理了这一点。您需要创建所谓的"服务文件",以便能够管理UWSGI。
我们将调用我们的文件my_site.service。要打开它并设置服务,请运行:
sudo nano /etc/system/systemd/my_site.service
#/etc/system/systemd/my_site.service
#Tells Systemd about your site
[Unit]
Description=Guide test site.
After=network.target
#Where systemd should start it from.
[Service]
User=$USER
Group=www-data
WorkingDirectory=/home/user/public_html/my_site
Environment="PATH=/home/user/django_serve/bin"
ExecStart=/home/user/public_html/django_serve/bin/uwsgi my_site.ini
#For starting the service at boot.
[Install]
WantedBy=multi-user.target
将上面的$替换为您正在使用的用户名和域名使用域名。
最后,我们需要设置nginx来收听UWSGI并将请求从Web传递给它。 此配置实际上非常简单。 从编辑新文件并再次使用您的域名替换下面的My_site:
sudo nano /etc/nginx/sites-available/my_site.conf
# /etc/nginx/sites-available
# tell it where to look for django
upstream django_serve {
server 127.0.0.1:10800;
}
server {
listen 80; #can be 443 if you have SSL set up.
root /home/user/public_html/my_site/;
server_name www.my_site.com;
location / {
uwsgi_pass django_serve;
include uswgi_params;
}
}
对于nginx来读取和使用此文件,我们需要将其添加到启用站点的目录中。 此命令创建一个软链接。
sudo ln -s /etc/nginx/sites-available/my_site.conf /etc/nginx/site-enabled
现在,重新加载NGINX:
sudo systemctl restart nginx
现在,尝试访问VPS上的网站。 如果一切顺利,你应该看到这个:
Django的默认网页。
虽然有很多方法可以设置UWSGI和NGINX,但这一个非常简单和简单。 希望,本指南足以让您开始,并一如既往,如果您有任何其他问题或疑虑,您可以联系到我们。
撰写者 Hostwinds Team / 七月 26, 2019