运维文档:Web 服务器部署指南
运维文档:Web 服务器部署指南
1. 概述
本文档旨在提供 Web 服务器部署的详细指南,涵盖从环境准备到服务器配置、应用程序部署以及监控等环节。
2. 环境准备
2.1 硬件需求
- CPU:至少 2 核
- 内存:至少 4 GB
- 硬盘:至少 100 GB
2.2 软件需求
- 操作系统:Ubuntu 20.04 LTS
- Web 服务器:Nginx
- 数据库:MySQL
- 编程语言:Python 3.8
- 应用程序框架:Django 3.2
2.3 工具
- SSH 客户端
- 文本编辑器
3. 服务器配置
3.1 安装操作系统
在虚拟机或物理机上安装 Ubuntu 20.04 LTS 操作系统。
3.2 更新系统
bash
sudo apt update
sudo apt upgrade -y
3.3 安装 Nginx
bash
sudo apt install nginx -y
3.4 配置 Nginx
- 修改 Nginx 默认配置文件
/etc/nginx/sites-available/default
,配置虚拟主机,例如:
```nginx server { listen 80; server_name example.com; root /var/www/example.com/public;
location / {
try_files $uri $uri/ /index.html =404;
}
} ```
- 启用虚拟主机:
bash
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
- 重启 Nginx:
bash
sudo systemctl restart nginx
3.5 安装 MySQL
bash
sudo apt install mysql-server -y
3.6 配置 MySQL
- 设置密码:
bash
sudo mysql_secure_installation
- 创建数据库和用户:
sql
CREATE DATABASE example_db;
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
3.7 安装 Python
bash
sudo apt install python3.8 python3-pip -y
3.8 安装 Django
bash
sudo pip install Django==3.2
4. 应用程序部署
4.1 创建 Django 项目
bash
django-admin startproject example_project
4.2 创建应用程序
bash
cd example_project
python manage.py startapp example_app
4.3 配置 Django
- 设置数据库连接信息:
python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'example_db',
'USER': 'example_user',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
}
}
- 配置静态文件路径:
python
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
4.4 运行迁移
bash
python manage.py makemigrations
python manage.py migrate
4.5 收集静态文件
bash
python manage.py collectstatic
4.6 部署应用程序
- 将应用程序代码部署到 Web 服务器根目录:
bash
cd /var/www/example.com/public
cp -r example_project/static .
4.7 配置 Nginx
- 修改 Nginx 虚拟主机配置文件,指向 Django 应用程序:
nginx
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
4.8 启动 Django 应用程序
bash
cd example_project
python manage.py runserver 0.0.0.0:8000
5. 监控
-
使用监控工具监控服务器资源使用情况,例如:
-
监控 CPU 使用率、内存使用率、磁盘空间、网络流量等
-
监控应用程序错误日志、数据库连接池状态等
-
设置警报机制,及时发现并处理异常情况。
6. 安全
- 定期更新系统和软件,修复安全漏洞。
- 设置安全的密码,并定期更换密码。
- 限制对服务器的访问权限,只允许授权用户访问。
- 启用防火墙,阻止来自不受信任来源的连接。
7. 备份
- 定期备份服务器数据,包括操作系统、应用程序代码、数据库等。
- 存储备份数据到安全的存储介质,例如云存储服务或本地硬盘。
8. 附录
- Nginx 官方文档: https://nginx.org/en/docs/
- Django 官方文档: https://docs.djangoproject.com/en/3.2/
- MySQL 官方文档: https://dev.mysql.com/doc/
9. 联系方式
如需咨询或反馈,请联系 [邮箱地址]。
- 本文标签: 运维
- 本文链接: https://blog.sandy1029.cloud/article/55
- 版权声明: 本文由nisan原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权