Linxu + uWSGI + Nginx部署Django

服务器参数

服务器:阿里云 ECS (未作任何配置)
Linux版本:CentOS 7.6 64位

温馨提示:如果服务器重装系统或格式化磁盘,将会导致处浏览器外,本地不可远程登录和上传公钥文件。请看-> 解决方案

一、配置Linux

1.1、用户组管理

  • 创建用户在
groupadd admin

1.2、用户管理

  • 创建用户, 并添加到创建的admin用户组中
useradd langkye -g admin
  • 设置[修改]密码
passwd langkye
  • 修改用户权限(新建用户的权限较低)
sudo vim /etc/sudoers

进入sudoers中,在 root ALL=(ALL) ALL下面添加:

langkye ALL=(ALL) ALL
  • 删除用户
userdel -rf langkye

-rf表示删除用户名和用户关联的邮箱等文件,否则若新建相同的用户将会提示用户已存在

1.3、远程登录

  • 禁止root远程登录
sudo vim /etc/ssh/sshd_config

#PermitRootLogin yes修改为PermitRootLogin no

  • 重启sshd服务
sudo systemctl restart sshd.service

成功之后,只能用其它用户远程登录服务器。而不能用root用户进行远程登录。

1.4、免密(证书)登录远程服务器

1.4.1、在[本地]创建.ssh隐藏目录,用于保存本地生成的公钥和私钥(一般建在用户目录下)

  • 命令行创建(Mac或安装了Git-bash的Windows)
mkdir ~/.ssh

说明~表示用户主目录,即Windows的c:/Users/自己的用户名; Mac, /home/当前登录的用户名

  • 图形界面创建(略)

1.4.2、创建密钥对

cd ~/.ssh
ssh-keygen -t rsa -C AliCloud -f AliCloud

说明:-t, 选中加密方式;-C, 描述;-f, 生成的密钥对文件名
输入命令后一路回车...
成功后,在.ssh目录下会出现[AliCloud] 和 [AliCloud.pub]两个文件。其中,AliCloud.pub为公钥;AliCloud为私钥。

1.4.3、将公钥上传到服务器
利用ssh提供的远程拷贝命令[scp]来上传公钥文件。

cd ~/.ssh
scp AliCloud.pub langkye@服务器公网IP:.

1.4.4、在服务器中配置

cd ~
mkdir ~/.ssh
touch authorized_keys
cat AliCloud.pub >> ~/.ssh/authorized_keys
  • 修改.ssh和authorized_keys的权限为当前登录用户所有
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

1.5、在本地配置登录

cd ~/.ssh
vim config

添加:

Host langkye # 本地登录的名字,可随意
    HostName 服务器A公网IP
    Port 22 # SSH端口
    User 用户名
    IdentityFile ~/.ssh/AliyunCS # 密钥路径

Host Tencent
    HostName 服务器B公网IP
    Port 22
    User langkye
    IdentityFile ~/.ssh/TencentCS

1.6、免密登录

ssh langkye

1.7、配置防火墙

1.7.1 更新yum

sudo yum -y update

1.7.2 配置yum自动更新

  • 安装插件
sudo yum install -y cronie yum-cron
  • 修改配置文件
sudo vim /etc/yum/yum-cron.conf

更改:

# 启用自动更新 
# apply_updates = no
apply_updates = yes
  • 启动服务
sudo systemctl start crond
sudo systemctl start yum-cron

1.7.3 安装防火墙

sudo yum install -y firewalld

1.7.4 启动防火墙

sudo systemctl start firewalld.service
  • 查看防火墙状态
sudo firewall-cmd --list-all

1.8、修改ssh端口

1.8.1 修改ssh服务配置文件

sudo vim /etc/ssh/ssd_config

修改Port 22

1.8.2 将防火墙中关于ssh的配置拷贝到防护墙工作路径中

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/

修改<port protocol="tcp" port="22" />:

<port protocol="tcp" port="必须与上一步修改的端口一致" />

1.8.3 在服务器控制台中开放相应的端口(略)

1.8.4 通过控制台远程登录服务器重启ssh服务和防火墙

sudo systemctl restart sshd.service
sudo systemctl restart firewalld.service

1.8.5 修改本地ssh的端口

vim ~/.ssh/config
  • 将Port端口设置一致即可

二、安装并配置数据库

以mariadb为例,它与MySQL几乎相同

2.1、安装数据库

  • 安装mariadb数据库和mariadb数据库服务
sudo yum -y install mariadb mariadb-server
  • 启动数据库
sudo systemctl start mariadb
  • 设置开机自启
sudo systemctl enable mariadb.service
  • 设置root密码
mysql_secure_installation

步骤:跳过第一次的输入密码,设置密码、确认密码,一路回车...

2.2、创建项目的数据库。如:

create database mysite

三、配置Python3

猜你喜欢

转载自www.cnblogs.com/langkye/p/12630123.html
今日推荐