关于将Web项目部署到阿里云服务器-5个步骤搞定

1.  先登录阿里云网站注册账号,选择服务器类型(我用的是 云服务器ECS), 如果你还是在读大学生可享受优惠价,最低好像是9.9元一月。之后勾选系统镜像。

 

2. 购买好之后登录阿里云控制台。

 找到自己的云服务器实例,可以点击远程连接然后进入远程桌面看看。

 

也可以在Windows本机端下的 远程桌面连接 如下图,

步骤 : 1.找到开始菜单下远程桌面连接     2. 输入 公网ip地址    3. 输入用户名:Administrator  密码:就是登录window系统的密码

 

3.  连接成功如下图。

 

注意 : 在用本地Windows桌面远程连接时,要在控制台创建安全组。我就因为之前没有创建安全组,而导致远程桌面连接失败。
创建安全组步骤: 

在阿里云控制台下找到找到 网络和安全 点击下面的 安全 菜单  创建安全组  创建之后记得配置规则  如下图。

 

配置安全组规则


*配置规则可参考阿里云的帮助文档

 

4. 给服务器配置环境。 安装 jdk和 Tomcat。    

步骤: 我么可以用本机远程服务器桌面,直接从本机中复制jdk 和Tomcat安装包粘贴到远程窗口,记住是复制,不是拖进远程窗口上,因为拖是拖不进去滴! 安装过程这里就不一一阐述了。

 

5. 配置好之后。把本地的项目的war包复制到 服务器下的Tomcat 目录的webapps上。 之后启动Tomcat。如图所示。

 

 

 外网访问服务器项目时, 把本地地址 localhost 改成公网IP地址即可。如图所示

 

 文章粗糙,  不喜勿喷。

### 部署Django项目阿里云ECS #### 准备工作 为了确保部署过程顺利,在开始之前需确认已具备如下条件: - 已注册并登录阿里云账号。 - 购买了适合配置的ECS实例,推荐选用Ubuntu Server作为操作系统版本[^1]。 #### 安装依赖软件包 通过SSH连接到新创建的ECS实例后,更新系统包列表,并安装必要的基础工具和库文件。对于基于Debian/Ubuntu系统的服务器而言,命令如下所示: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx curl -y ``` #### 设置Python虚拟环境与安装项目依赖项 建议为每个Web应用程序单独建立一个隔离化的Python运行时环境来管理各自的第三方模块集合。具体操作步骤如下: ```bash cd ~ python3 -m venv myproject_env source myproject_env/bin/activate pip install --upgrade pip setuptools wheel gunicorn psycopg2-binary django deactivate ``` 上述指令会创建名为`myproject_env`的新目录用于存放独立于全局解释器之外的所有资源;激活该环境之后即可利用Pip工具下载指定版本号范围内的扩展组件;最后记得退出当前作用域以便后续设置Nginx反向代理服务时不受到干扰。 #### 构建PostgreSQL数据库实例并与之关联 由于大多数情况下都会选择关系型数据管理系统存储业务逻辑层面的信息实体模型对象,则有必要提前准备好对应的持久化层支撑结构体。这里以官方文档为例简单描述一下基本流程: ```sql sudo -u postgres psql CREATE DATABASE myproject; CREATE USER myprojectuser WITH PASSWORD 'password'; ALTER ROLE myprojectuser SET client_encoding TO 'utf8'; ALTER ROLE myprojectuser SET default_transaction_isolation TO 'read committed'; ALTER ROLE myprojectuser SET timezone TO 'UTC'; GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser; \q ``` 完成以上SQL语句执行动作以后便意味着成功搭建起一套可供测试使用的简易版RDBMS设施了。 #### 将本地代码迁移到远程主机之上 借助Git仓库托管服务平台或者SCP协议直接上传源码压缩包两种途径均可达成目的。假设采用后者的话则只需一条简单的Shell脚本就能搞定一切: ```bash scp -r ./local_project_directory username@your_server_ip:/home/username/ ``` 紧接着切换回目标机器内部继续完善剩余环节的工作事项。 #### 应用程序初始化设定 进入刚刚传输过来的应用根路径下面依次调用以下两条命令完成ORM映射表单同步以及静态资源收集两项重要任务: ```bash cd ~/path_to_your_django_app ~/myproject_env/bin/python manage.py makemigrations ~/myproject_env/bin/python manage.py migrate ~/myproject_env/bin/python manage.py collectstatic ``` 这些准备工作能够有效保障在线环境下各个功能模块正常运转不受影响[^3]。 #### Gunicorn进程守护者配置 编辑位于用户家目录下的`.profile`文件追加一行导出变量声明语句指向实际存在的Wsgi入口函数位置处: ```bash echo "export DJANGO_SETTINGS_MODULE=myapp.settings.production" >> ~/.profile source ~/.profile ``` 随后编写Gunicorn启动参数模板保存成文本形式存放在合适的地方比如说是`/etc/systemd/system/gunicorn.service`内方便日后维护调整: ```ini [Unit] Description=gunicorn daemon After=network.target [Service] User=username Group=www-data WorkingDirectory=/home/username/myproject ExecStart=/home/username/myproject_env/bin/gunicorn \ --workers 3 \ --bind unix:/home/username/myproject.sock \ myapp.wsgi:application [Install] WantedBy=multi-user.target ``` 重启Systemctl使更改生效的同时也开启了监听端口等待来自外部世界的HTTP请求到来。 #### Nginx Web服务器前端接入 打开/etc/nginx/sites-available/default这个默认站点配置文件按照实际情况修改server_name字段值以及其他必要选项从而建立起有效的转发机制让客户端浏览器可以直接访问网站主页而无需暴露真实IP地址信息给公众知晓: ```nginx server { listen 80; server_name your_domain_or_IP; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/username/myproject; } location / { include proxy_params; proxy_pass http://unix:/home/username/myproject.sock; } } ``` 别忘了重新加载Nginx主控单元使得最新的改动立即得到体现出来。 #### Supervisor自动恢复机制集成 考虑到长时间连续运作过程中难免会出现意外情况导致某些子服务突然停止响应的问题所在因此引入Supervisord监控插件不失为一个好的解决方案之一。先安装再新建相应的控制策略定义文档放置在预设好的扫描范围内例如说是在`/etc/supervisor/conf.d/django.conf`里头: ```ini [program:gunicorn] directory=/home/username/myproject command=/home/username/myproject_env/bin/gunicorn --workers 3 --bind unix:/home/username/myproject.sock myapp.wsgi:application autostart=true autorestart=true stderr_logfile=/var/log/gunicorn.err.log stdout_logfile=/var/log/gunicorn.out.log [group:django] programs:gunicorn ``` 最终一步就是通知后台线程刷新缓存区内容进而接管整个生命周期管理工作啦!
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值