Mezzanine是用Python编写的内容管理系统,是目前流行的WordPress的替代品,可以提供类似的界面,接下来为大家带来2024年Mezzanine安装和配置教程,一起看看吧。
准备工作:
- VPS SSD云或专用服务器
- Ubuntu 19.10。 您可以在这里从Canonical获取ISO: https://ubuntu.com/download/serve
- 工作中的公共领域。
- Python3
- virtualenvwrapper脚本
- nginx webserver
- PostgreSQL
要使所有这些运行,请使用以下命令:
sudo apt install python3 python3-pip postgresql nginx libpq-dev
然后,在安装virtualenvwrapper *中使用pip:
sudo pip3 install virtualenvwrapper
通常,在安装软件中使用PIP3是一个坏主意,但VirtualEnvWrapper是安装系统宽的少数包的包装。
现在,为夹层设置一个环境并安装它:
mkvirtualenv my_site
work on my_site
pip3 install mezzanine uwsgi pillow
安装了所有依赖项后,我们需要设置数据库。
设置Postgresql用户
为PostgreSQL配置用户只需要几个SQL语句you8可以从SQL命令行运行。 要启动SQL Shell:
sudo su postgres -c psql
在psql shell中,运行以下3行:
CREATE USER your_site_name WITH ENCRPYPTED PASSWORD 'secure_pass';
CREATE DATABASE your_site_name;
GRANT ALL PRIVILEGES ON DATABASE your_site_name TO your_site_name;
这些命令将创建数据库和用户与之交互。
现在,我们可能需要授予对该用户的访问权限。使用此命令编辑pg_hba.conf,这就是PostgreSQL用于验证访问的原因:
sudo nano /etc/PostgreSQL/11/main/pg_hba.conf
确保文件中存在此行:
主持所有127.0.0.1/32 MD5
一旦编辑文件,重新启动数据库以应用更改:
sudo systemctl restart postgresql
设置夹层
既然数据库已设置,我们可以继续配置夹层。 要启动Mezzanine项目,请使用命令:
(my_site)夹层项目my_site
cd my site
在my_site目录中,您将找到另一个名为”my_site”的目录。您需要编辑一个名为settings.py的文件:
nano mysite/settings.py
在该文件中需要设置两件事。
数据库配置,使用与我们之前创建的SQL用户相同的用户名和密码:
DATABASES = {
"default": {
# Add "postgresql", "mysql", "sqlite3" or "oracle".
"ENGINE": "django.db.backends.postgresql",
# DB name or path to database file if using sqlite3.
"NAME": "my_site",
# Not used with sqlite3.
"USER": "my_site",
# Not used with sqlite3.
"PASSWORD": "secure_pass",
# Set to empty string for localhost. Not used with sqlite3.
"HOST": "127.0.0.1",
# Set to empty string for default. Not used with sqlite3.
"PORT": "",
}
}
允许的主机:
ALLOWED_HOSTS = ['my_site.com', 'www.my_site.com']
准备好这些文件后,保存settings.py文件。
恰当命名的manage.py脚本用于设置和管理服务器。 现在,Mezzanine已正确配置了数据库用户,我们可以使用createdb命令添加表,如下所示:
python manage.py createdb
然后,添加一个管理员用户以帮助管理您的站点:
python manage.py createsuperuser
最后,使用以下内容构建资产,如JavaScript和CSS,如下:
python manage.py collectstatic
使用uWSGI部署应用程序
对于我们的网站来提出来看,您需要配置一个Python加载程序来运行代码和网络服务器以与外部世界进行通信。让我们从Python加载程序开始。对于此设置,我们将使用UWSGI Runner。
在您的my_site / my_site目录中,使用nano创建一个名为my_site.ini的文件:
[uwsgi]
socket = 127.0.0.1:8080
chdir = /home/$USER/my_site
wsgi-file = my_site/wsgi.py
processes = 2
threads = 1
您可以通过在/usr/lib/systmd/system/my_site.service中创建服务文件来将uWSGI设置为在启动时运行:
[Unit]
Description=My Site
After=Network.target
[Service]
User=$USER
Group=$USER
WorkingDirectory=/home/$USER/my_site
Environment="PATH=/home/$USER/.virtualenvs/mezzanine/bin"
ExecStart=/home/$USER/.virtualenvs/mezzanine/bin/uwsgi my_site.ini
最后,运行命令:
sudo systemctl enable my_site
和:
sudo systemctl start my_site
这将配置您的Python Runner以启动启动并立即启动它。
NGINX配置
最后一个任务来完成所有这一切:设置Web服务器。 Nginx是Python项目的热门选择,因为它反向代理功能。
要配置它,请将此文件添加到启用/ etc / nginx / sites:
upstream mezzanine {
server 127.0.0.1:9081;
}
server {
listen 80 default_server;
server_name www.my_site.com my_site.com;
charset utf-8;
client_max_body_size 50M;
location /media {
alias /home/$USER/my_site/media;
}
location /static {
alias /home/$USER/my_site/static;
}
location / {
uwsgi_pass mezzanine;
include uwsgi_params;
}
}
然后应用此配置,运行命令:
sudo systemctl restart nginx