bmc_studio使用问题

在wsl下根据BMC Studio安装指南搭建环境

启动bmc studio后,无法访问http://localhost:10000界面

将端口号修改为http://localhost:12888/home后可以访问

端口信息如下图:

/etc/nginx/conf.d/bmc_studio.conf文件内容如下图

请问是哪里的配置有问题吗?谢谢

这篇文档是老版本的,您可能因此安装了老版本的BMC Studio。我们会在这个月内更新最新的文档。

你可以查看一下您BMC Studio的版本,在BMC Studio首页的右上角有一个问号标志,将鼠标悬停上去就可以看到版本号。如果您的版本号是1.1.95那么可能您需要升级您的BMC Studio。

目前安装BMC Studio的方式主要是通过apt install安装,或者使用bingo upgrade命令进行更新。您可以在命令行输入命令

bingo upgrade 

即可升级BMC Studio最新版。

感谢您的回复

按照意见,在wsl里执行bingo upgrade命令进行更新

重新启动bmc studio现象一样如下:

查看端口如下:

能不能请您在windows系统里启动一下powershell管理员权限版,然后输入命令

netsh interface portproxy show all

然后如果有发现12888端口相关的配置但没有10000端口相关的配置,请您使用以下命令添加:

netsh interface portproxy set v4tov4 listenport=10000 connectaddress=xxx.xxx.xxx.xxx connectport=10000

应该能解决您的问题

connectaddress的值是您wsl的ip地址,可以在wsl中通过ifconfig查看。

image

将图中inet后面那部分替换掉我提供的命令的xxx.xxx.xxx.xxx片段即可。

root@KunLunStation:/mnt/c/WINDOWS/system32# sh -x /usr/share/bmc_studio/bmc_studio.sh start

  • readonly STUDIO_DIR=/usr/share/bmc_studio
  • STUDIO_DIR=/usr/share/bmc_studio
  • readonly SERVER_DIR=/usr/share/bmc_studio/server
  • SERVER_DIR=/usr/share/bmc_studio/server
  • readonly PORTS_CONFIG=/usr/share/bmc_studio/server/ports.conf
  • PORTS_CONFIG=/usr/share/bmc_studio/server/ports.conf
  • readonly LOG_DIR=/root/bmc_studio/log
  • LOG_DIR=/root/bmc_studio/log
  • readonly NGINX_LOADER=/usr/share/bmc_studio/load_nginx.sh
  • NGINX_LOADER=/usr/share/bmc_studio/load_nginx.sh
  • _trap_ran=0
  • declare -i USER_ID=0
  • declare STUDIO_PID=
  • init_environment
  • [[ -n ‘’ ]]
  • [[ -d /opt/cangjie ]]
  • export CANGJIE_HOME=/opt/cangjie
  • CANGJIE_HOME=/opt/cangjie
  • export ‘PATH=/opt/cangjie/bin:/opt/cangjie/tools/bin:/opt/cangjie/debugger/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files (x86)/VMware/VMware Workstation/bin/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/Program Files/IDM Computer Solutions/UltraEdit:/mnt/c/Users/DoctorWho/AppData/Local/Microsoft/WindowsApps:/mnt/c/texlive/2020/bin/win32:/mnt/c/Users/DoctorWho/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Windows/System32/OpenSSH/:/snap/bin’
  • PATH=‘/opt/cangjie/bin:/opt/cangjie/tools/bin:/opt/cangjie/debugger/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files (x86)/VMware/VMware Workstation/bin/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/Program Files/IDM Computer Solutions/UltraEdit:/mnt/c/Users/DoctorWho/AppData/Local/Microsoft/WindowsApps:/mnt/c/texlive/2020/bin/win32:/mnt/c/Users/DoctorWho/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Windows/System32/OpenSSH/:/snap/bin’
  • export LD_LIBRARY_PATH=/opt/cangjie/runtime/lib/linux_x86_64_llvm:/usr/share/bmc_studio/server:/usr/share/bmc_studio/server:
  • LD_LIBRARY_PATH=/opt/cangjie/runtime/lib/linux_x86_64_llvm:/usr/share/bmc_studio/server:/usr/share/bmc_studio/server:
  • export LD_LIBRARY_PATH=/usr/share/bmc_studio/server:/opt/cangjie/runtime/lib/linux_x86_64_llvm:/usr/share/bmc_studio/server:/usr/share/bmc_studio/server:
  • LD_LIBRARY_PATH=/usr/share/bmc_studio/server:/opt/cangjie/runtime/lib/linux_x86_64_llvm:/usr/share/bmc_studio/server:/usr/share/bmc_studio/server:
  • return 0
  • case “$1” in
  • start_service start
  • has_quiet=0
  • has_backend=0
  • for arg in “$@”
  • case “$arg” in
  • pgrep -u 0 -f bmc_studio_server
  • start_nginx_service
  • echo ‘Starting Nginx service…’
    Starting Nginx service…
    ++ /usr/share/bmc_studio/load_nginx.sh start /usr/share/bmc_studio
    Config file already exists at ‘/root/.bmc_studio/config/bmc_studio.generated.conf’. Overwriting…
    Generating config with frontend:10000 backend:8000…
    Starting Nginx for project ‘/usr/share/bmc_studio’…
    Nginx started successfully.
  • local port=10000
  • [[ 10000 -gt 0 ]]
  • return 0
  • [[ 0 -eq 0 ]]
  • show_service_url
    ++ get_frontend_port
    +++ /usr/share/bmc_studio/load_nginx.sh get-frontend-port /usr/share/bmc_studio
    ++ local port=10000
    ++ echo 10000
  • local port=10000
  • [[ 10000 -le 0 ]]
  • local url=http://localhost:10000
  • echo ‘BMC Studio is running at: http://localhost:10000
    BMC Studio is running at: http://localhost:10000
  • is_wsl_environment
  • grep -qi microsoft /proc/version
  • return 0
  • xdg-open http://localhost:10000
  • [[ 0 -eq 1 ]]
  • trap nginx_cleanup EXIT INT TERM
    ++ get_backend_port
    +++ /usr/share/bmc_studio/load_nginx.sh get-backend-port /usr/share/bmc_studio
    ++ local port=8000
    ++ echo 8000
  • run_server_foreground 8000
  • echo ‘Starting BMC Studio in foreground…’
    Starting BMC Studio in foreground…
  • cd /usr/share/bmc_studio/server
  • export cjHeapSize=1024MB
  • cjHeapSize=1024MB
  • ./bmc_studio_server 8000
    BMC Studio started.

root@KunLunStation:/mnt/c/WINDOWS/system32# sh -x /usr/share/bmc_studio/load_nginx.sh start /usr/share/bmc_studio

  • ‘[’ 2 -ne 2 ‘]’
  • ACTION=start
  • SERVER_DIR=/usr/share/bmc_studio
  • USER_CONFIG_DIR=/root/.bmc_studio/config
  • USER_LOG_DIR=/root/.bmc_studio/logs
  • PROJECT_CONFIG_TEMPLATE=/usr/share/bmc_studio/config/bmc_studio.conf
  • GENERATED_CONFIG=/root/.bmc_studio/config/bmc_studio.generated.conf
  • PID_FILE=/root/.bmc_studio/logs/nginx.pid
  • ‘[’ ‘!’ -d /usr/share/bmc_studio ‘]’
    ++ cd /usr/share/bmc_studio
    ++ pwd
  • SERVER_DIR=/usr/share/bmc_studio
    ++ which nginx
  • NGINX_BIN=/usr/sbin/nginx
  • ‘[’ -z /usr/sbin/nginx ‘]’
    ++ id -u
  • USER_ID=0
  • FRONTEND_PORT=10000
  • BACKEND_PORT=8000
  • MAX_PORT_ATTEMPTS=100
  • case “$ACTION” in
  • start
    ++ get_frontend_port
    ++ ‘[’ ‘!’ -f /root/.bmc_studio/logs/nginx.pid ‘]’
    ++ return 1
  • RUNNING_PORT=
    ++ find_available_port 10000
    ++ local base_port=10000
    ++ local warned=false
    +++ seq 0 99
    ++ for i in $(seq 0 $((MAX_PORT_ATTEMPTS - 1)))
    ++ local current_port=10000
    ++ ss -lnt
    ++ grep -q ‘:10000\b’
    ++ echo 10000
    ++ return 0
  • local available_frontend_port=10000
    ++ find_available_port 8000
    ++ local base_port=8000
    ++ local warned=false
    +++ seq 0 99
    ++ for i in $(seq 0 $((MAX_PORT_ATTEMPTS - 1)))
    ++ local current_port=8000
    ++ ss -lnt
    ++ grep -q ‘:8000\b’
    ++ echo 8000
    ++ return 0
  • local available_backend_port=8000
  • generate_config 10000 8000
  • local frontend_port=10000
  • local backend_port=8000
  • ‘[’ -f /root/.bmc_studio/config/bmc_studio.generated.conf ‘]’
  • echo ‘Config file already exists at ‘‘’/root/.bmc_studio/config/bmc_studio.generated.conf’’‘. Overwriting…’
    Config file already exists at ‘/root/.bmc_studio/config/bmc_studio.generated.conf’. Overwriting…
  • ‘[’ ‘!’ -f /usr/share/bmc_studio/config/bmc_studio.conf ‘]’
  • mkdir -p /root/.bmc_studio/config
  • mkdir -p /root/.bmc_studio/logs
  • echo ‘Generating config with frontend:10000 backend:8000…’
    Generating config with frontend:10000 backend:8000…
  • sed -e ‘s|##PROJECT_PATH##|/usr/share/bmc_studio|g’ -e ‘s|##LOG_PID_PATH##|/root/.bmc_studio/logs|g’ -e s/##FRONTEND_PORT##/10000/g -e s/##BACKEND_PORT##/8000/g /usr/share/bmc_studio/config/bmc_studio.conf
  • echo ‘Starting Nginx for project ‘‘’/usr/share/bmc_studio’’‘…’
    Starting Nginx for project ‘/usr/share/bmc_studio’…
  • /usr/sbin/nginx -p /usr/share/bmc_studio -c /root/.bmc_studio/config/bmc_studio.generated.conf
  • sleep 0.5
  • get_frontend_port
  • ‘[’ ‘!’ -f /root/.bmc_studio/logs/nginx.pid ‘]’
    ++ cat /root/.bmc_studio/logs/nginx.pid
  • ps -p 9045
  • ‘[’ ‘!’ -f /root/.bmc_studio/config/bmc_studio.generated.conf ‘]’
  • grep listen /root/.bmc_studio/config/bmc_studio.generated.conf
  • tr -d ‘;’
  • awk ‘{print $2}’
  • echo ‘Nginx started successfully.’
    Nginx started successfully.
  • echo 10000
    10000
  • exit 0

能不能请您提供一下/root/.bmc_studio/config/bmc_studio.generated.conf 这个文件的内容

这个帖子可能可以解决您的问题?

这个方案可以解决,谢谢您的支持