Web 应用环境
Web 应用环境(Websoft9 Web Runtime)为您的 Web 应用提供一个简易可靠的 PaaS 全栈环境,支持包括静态网站、PHP、Java、Python、Ruby 等程序环境以及框架(矩阵表),包含:Nginx, MySQL, Docker 以及其他通用组件。
提供自定义域名、HTTPS 可视化界面设置,它让用户专注于应用程序的发布,以可靠、稳定、可控的方式部署各种不同类型的 Python 应用程序,在提升效率的同时减少生产环境中人为出错的风险。
- PHP 应用环境
- Node.js 应用环境
- Python 应用环境
- Ruby 应用环境
初始化向导
在云服务器上部署相关预装包之后,请参考下面的步骤快速入门。
准备
- 在云控制台获取您的 服务器公网IP地址
- 在云控制台安全组中,检查 Inbound(入)规则 下的 TCP:80 和 443 端口是否开启
- 若想用域名访问,请先到 域名控制台 完成一个域名解析
获得账号密码
登录服务器,获取相关账号密码
测试可用性
-
本地浏览器访问网址:http:/服务器公网IP/9panel, 就进入引导页面 9Panel
-
本地浏览器访问网址:http:/服务器公网IP/9panel, 查看环境的演示页面
-
通过 9Panel 可以快速了解镜像基本情况,管理数据库,找到帮助文档,寻求人工支持
服务器对应的安全组 80 端口没有开启(入规则),9Panel 便无法访问
测试数据库
预装包中内置 MySQL 或 MongoDB 及可视化数据库,根据 9Panel 指引登录测试可用性
安装应用(网站)
根据不同的应用程序环境,参考对应的应用管理帮助文档
通用设置
安装网站过程中,以下操作与语言环境无关:
域名绑定
当服务器上只有一个网站时,不做域名绑定也可以访问网站。但从安全和维护考量,域名绑定不可省却。
以示例网站为例,域名绑定操作步骤如下:
-
确保域名解析已经生效
-
使用 SFTP 工具登录云服务器
-
修改 虚拟机主机配置文件,修改 ServerName 或 server_name
- For Apache
<VitualHost *:80>
ServerName www.mydomain.com # 此处修改为你的域名
DocumentRoot "/data/wwwroot/mysite2"
...- For Nginx
server
{
listen 80;
server_name www.example.com; # 此处修改为你的域名
...
} -
保存配置文件,重启 Nginx 服务
伪静态
Web 应用环境默认已经安装 Nginx 或 Apache 伪静态模块。
根据环境的组件参考对应的设置:
SSL/HTTPS
参考相关章节:SSL/HTTPS
程序环境升级或降级
程序环境升级指的是发现版的变更,例如:php7.0 -> php7.4, node11 - node16。
我们提供各种环境升级的方案,具体参考:
管理数据库
各个数据库的登录、使用和管理参考:
参数
网站目录
环境中,你的网站代码存放位置是实际是没有限制的,但为了方便维护,我们给出如下约定:
- 网站存放目录: /data/wwwroot
- 示例网站目录: /data/wwwroot/example
通过 http://公网IP地址 访问的就是示例网站
组件路径
Web 服务器
- Apache 虚拟主机配置文件: /data/config/apache
- Nginx 虚拟主机配置文件:/data/config/nginx
- Caddy 虚拟主机配置文件: /data/config/caddy
端口
在云服务器中,通过 安全组设置 来控制(开启或关闭)端口是否可以被外部访问。
通过命令netstat -tunlp
查看相关端口,下面列出本应用可能要用到的端口:
类型 | 端口号 | 用途 | 必要性 |
---|---|---|---|
TCP | 80/443 | Nginx, 通过 HTTP 访问 Express 框架 | 可选 |
TCP | 9090 | 通过 HTTP 访问 phpMyAdmin | 可选 |
TCP | 9091 | 通过 HTTP 访问 adminMongo | 可选 |
TCP | 27017 | MongoDB 端口 | 可选 |
TCP | 6379 | Redis 端口 | 可选 |
TCP | 3306 | MySQL/MariaDB 端口 | 可选 |
服务
systemctl start | stop | status | restart apache
systemctl start | stop | status | restart nginx
systemctl start | stop | status | restart tomcat
systemctl start | stop | status | restart caddy
systemctl start | stop | status | restart docker
systemctl start | stop | status | restart pm2
systemctl start | stop | status | restart mysql
systemctl start | stop | status | restart mariadb
systemctl start | stop | status | restart mongod
systemctl start | stop | status | restart redis
systemctl start | stop | status | restart rails
systemctl start | stop | status | restart django
docker start | stop | restart phpmyadmin
docker start | stop | restart adminmongo
docker start | stop | restart redis
版本号
参考:通用版本号查询
矩阵架构
【Web Server】+【应用程序 Server】+【数据库】+【数据库管理工具】+【应用程序语言环境】组合成为 Web 程序环境。
例如:LAMP = Apache + MySQL + PHP;PHP&JAVA 双能环境=Nginx+Java+PHP+MySQL
下面是矩阵关系表:
类别 | 名称 | 备注 |
---|---|---|
Web Server | Apache | |
Nginx | ||
Caddy | ||
应用程序 Server | Tomcat | 适用于 Java 的应用程序服务器 |
php-fpm | 适用于 PHP 的应用程序服务器 | |
uWsgi | 适用于 Python 的应用程序服务器 | |
Phusion Passenger | 适用于 Ruby 的应用程序服务器 | |
数据库及管理工具 | MySQL/MariaDB | Web 可视化管理工具:phpMyadmin |
MongoDB | Web 可视化管理工具:adminMongo | |
Redis | ||
SQLite | ||
应用程序语言环境 | PHP | 扩展框架: |
Java | 扩展框架: | |
Node.js | 扩展框架:Express, React, Vue, AngularJS,Gatsby.js | |
Python | 扩展框架:Django | |
Ruby | 扩展框架:Rails | |
Go | 扩展框架: | |
维护工具 | 9Panel | Websoft9 自行研发的入门向导工具 |