Nginx
提示
- 操作系统:Ubuntu 22.04 LTS
- 推荐配置 4 核 CPU 8G 内存
安装
sudo apt update
sudo apt install nginx
# 查看是否安装成功
netstat -ntlp
# 如果80端口正常启动,则证明安装成功
# 停止nginx
# service nginx stop
# 启动nginx
# service nginx start
# 重启nginx:
# service nginx restart
# systemctl restart nginx
# 重新加载:
# service nginx force-reload
# 查看是否安装stream模块
nginx -V | grep stream # 注意是大写V
# 有输出内容证明已经安装
nginx version: nginx/1.18.0 (Ubuntu)
# ...
# 可以看到参数:--with-stream=dynamic,说明已经安装stream模块
# 对应报错:unknown directive "stream" in /etc/nginx/nginx.conf,需要在nginx.conf的第一行插入
load_module /usr/lib/nginx/modules/ngx_stream_module.so;
# 缓存路径,创建文件夹,在nginx.conf文件中用到
mkdir -p /var/www/html/nginx/cache/webserver
# 重新加载配置文件
nginx -s reload
# 或者 重启nginx
service nginx restart
准备
- 将下载的 server 文件解压,解压后的文件结构如下
(base) server % tree -L 1
.
├── admin
├── agent
├── bytedesk-starter-0.4.0.jar
├── chat
├── config
├── logs
├── readme.md
├── readme.zh.md
├── start.bat
├── start.sh
├── stop.bat
├── stop.sh
└── uploader
7 directories, 7 files
- 将其中的 admin,agent,chat 三个文件夹复制到 /var/www/html/weiyuai/ 文件夹下。
- 其中:admin 为管理后台,agent 为客户端,chat 为访客端
- 三者默认访问的服务器地址为: http://127.0.0.1:9003, 发布到线上时需要修改才能够正常使用,具体修改方法如下:
- 找到 admin/config.json 、 agent/config.json 和 chat/config.json 三个文件
- config.json 文件内容如下:
{
"enabled": true,
"apiUrl": "https://api.weiyuai.cn",
"websocketUrl": "wss://api.weiyuai.cn/websocket",
"htmlUrl": "https://www.weiyuai.cn"
}
- enabled 字段为是否启用自定义服务器地址,默认为 false。这里需要将 false 改为 true。只有修改为 true,下面的 apiHost 和 htmlHost 才能生效
- apiUrl 字段为 api 地址,默认为:api.weiyuai.cn,请替换为自己的域名
- websocketUrl 字段为 websocket 地址,默认为:ws://api.weiyuai.cn/websocket,请替换为自己的域名
- htmlHost 字段为静态网页地址,默认为:www.weiyuai.cn,请替换为自己的域名
替换为ip实例
- 将域名替换为ip
- 将https替换为http
{
"enabled": true,
"apiUrl": "http://127.0.0.1:9003",
"websocketUrl": "ws://127.0.0.1:9885/websocket",
"htmlUrl": "http://127.0.0.1:9003"
}
nginx.conf
在nginx.conf文件中http模块添加如下内容:
#...
http {
##...
## restapi-负载均衡
upstream weiyuai {
# round_robin; # 默认,轮流分配
ip_hash; # 同一个ip访问同一台服务器, 这样来自同一个IP的访客固定访问一个后端服务器
# least_conn; # 公平分配
# server 172.16.81.2:9003 weight=2 max_fails=10 fail_timeout=60s;
server 127.0.0.1:9003 weight=2 max_fails=10 fail_timeout=60s;
}
# websocket-负载均衡
upstream weiyuaiwss {
# round_robin; # 默认,轮流分配
ip_hash; # 同一个ip访问同一台服务器, 这样来自同一个IP的访客固定访问一个后端服务器
# least_conn; # 公平分配
# server 172.16.81.2:9885 weight=2 max_fails=10 fail_timeout=60s;
server 127.0.0.1:9885 weight=2 max_fails=10 fail_timeout=60s;
}
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}