设置虚拟服务器的环境,配置虚拟主机环境 (Sun Java System Web Server 7.0 Update 3 管理员指南)...

本文探讨了如何通过使用WebServer7.0环境变量为每个虚拟服务器分配独立的PHP二进制文件和配置文件,以解决多用户共享PHP引擎可能带来的安全和性能问题。通过创建特定于服务器的Unix域套接字,可以实现PHPFastCGI二进制文件的隔离,确保资源不被其他应用干扰。此外,还介绍了如何根据URI空间结构动态调用不同PHP二进制文件,以进一步优化资源利用,但这种方法可能导致内存消耗增加。

配置虚拟主机环境

虚拟主机环境旨在防范与多个虚拟服务器共享 PHP 引擎相关的潜在安全和性能问题。

通过使用 Web Server 7.0 环境变量,您可以分配相同的 PHP 二进制文件,并将单独的引擎绑定到每个虚拟服务器上。应确保每个虚拟服务器具有其自己的 php.ini 文件。

Service fn=responder-fastcgi

app-path="/path/to/php/php_fcgi"

bind-path="$(lc($urlhost))"

req-retry=5

type="*magnus-internal/fastcgi*"

app-env="PHPRC=/path/to/users/$(lc($urlhost))/config"

app-env="PHP_FCGI_CHILDREN=5"

app-env="PHP_FCGI_MAX_REQUEST=200"

min-procs=1

restart-interval=10

bucket="php-bucket"

rlimit_cpu=60

现在,Web Server tmp 目录将显示按照处理 PHP 请求的各个虚拟服务器命名的 Unix 域套接字。通过对所有用户使用单个 PHP FastCGI 二进制文件,可以实现此操作。因此,单个二进制文件应具有使用它编译的所有必需插件。上述难题的解决方案是,确保每个用户具有各自所需的 PHP 二进制文件副本。

Service fn=responder-fastcgi

app-path="/path/to/users/$(lc($urlhost))/php_fcgi"

bind-path="$(lc($urlhost))"

req-retry=5

type="*magnus-internal/fastcgi*"

app-env="PHPRC=/path/to/users/$(lc($urlhost))/config"

app-env="PHP_FCGI_CHILDREN=5"

app-env="PHP_FCGI_MAX_REQUEST=200"

min-procs=1

restart-interval=10

bucket="php-bucket"

rlimit_cpu=60

此外,也可以通过控制 URI 空间结构,以允许每个应用程序使用不同的 PHP 二进制文件。

例如:

如果 URI 空间结构如下所示:

/app/foo.php

其中 /app 是整个应用程序的名称,在以 PHP 文件结尾的 URI 结构中,它始终是第一个目录。

Service fn=responder-fastcgi

app-path="/path/to/users/$(lc($urlhost))/$1/php_fcgi"

bind-path="$(lc($urlhost))_$1"

req-retry=5

type=+magnus-internal/fastcgi*"

app-env="PHPRC=/path/to/users/$(lc($urlhost))/config"

app-env="PHP_FCGI_CHILDREN=5"

app-env="PHP_FCGI_MAX_REQUEST=200"

min-procs=1

restart-interval=10

bucket="php-bucket"

rlimit_cpu=60

这会调用一个专门生成的 PHP FastCGI 二进制文件,该文件绑定到唯一命名的 Unix 域套接字。因此,其他 PHP 应用程序或其他虚拟服务器将不会受到干扰。不过,此进程会占用很多内存,因为存在许多 PHP 进程。

zhouweixiang@KI-ZJ-2961:~$ ps aux | grep -i studio zhouwei+ 2303845 21.3 24.0 13819648 3875352 ? Sl 11:36 53:15 /home/zhouweixiang/下载/android-studio/jbr/bin/java -classpath /home/zhouweixiang/下载/android-studio/lib/platform-loader.jar:/home/zhouweixiang/下载/android-studio/lib/util-8.jar:/home/zhouweixiang/下载/android-studio/lib/util.jar:/home/zhouweixiang/下载/android-studio/lib/util_rt.jar:/home/zhouweixiang/下载/android-studio/lib/trove.jar:/home/zhouweixiang/下载/android-studio/lib/app.jar:/home/zhouweixiang/下载/android-studio/lib/opentelemetry.jar:/home/zhouweixiang/下载/android-studio/lib/jps-model.jar:/home/zhouweixiang/下载/android-studio/lib/stats.jar:/home/zhouweixiang/下载/android-studio/lib/rd.jar:/home/zhouweixiang/下载/android-studio/lib/external-system-rt.jar:/home/zhouweixiang/下载/android-studio/lib/protobuf.jar:/home/zhouweixiang/下载/android-studio/lib/bouncy-castle.jar:/home/zhouweixiang/下载/android-studio/lib/intellij-test-discovery.jar:/home/zhouweixiang/下载/android-studio/lib/forms_rt.jar:/home/zhouweixiang/下载/android-studio/lib/lib.jar:/home/zhouweixiang/下载/android-studio/lib/externalProcess-rt.jar:/home/zhouweixiang/下载/android-studio/lib/groovy.jar:/home/zhouweixiang/下载/android-studio/lib/annotations.jar:/home/zhouweixiang/下载/android-studio/lib/idea_rt.jar:/home/zhouweixiang/下载/android-studio/lib/kotlinx-coroutines-slf4j-1.8.0-intellij.jar:/home/zhouweixiang/下载/android-studio/lib/resources.jar -XX:ErrorFile=/home/zhouweixiang/java_error_in_studio_%p.log -XX:HeapDumpPath=/home/zhouweixiang/java_error_in_studio_.hprof -Xms256m -Xmx2048m -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -XX:CICompilerCount=2 -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions -XX:TieredOldPercentage=100000 -ea -Dsun.io.useCanonCaches=false -Dsun.java2d.metal=true -Djbr.catch.SIGABRT=true -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Djdk.module.illegalAccess.silent=true -Djdk.nio.maxCachedBufferSize=2097152 -Djava.util.zip.use.nio.for.zip.file.access=true -Dkotlinx.coroutines.debug=off -Dsun.tools.attach.tmp.only=true -Dawt.lock.fair=true -Djb.vmOptionsFile=/home/zhouweixiang/下载/android-studio/bin/studio64.vmoptions -Xbootclasspath/a:/home/zhouweixiang/下载/android-studio/lib/nio-fs.jar -Djava.system.class.loader=com.intellij.util.lang.PathClassLoader -Didea.vendor.name=Google -Didea.paths.selector=AndroidStudio2025.1.1 -Djna.boot.library.path=/home/zhouweixiang/下载/android-studio/lib/jna/amd64 -Djna.nosys=true -Djna.noclasspath=true -Dpty4j.preferred.native.folder=/home/zhouweixiang/下载/android-studio/lib/pty4j -Dio.netty.allocator.type=pooled -Dintellij.platform.runtime.repository.path=/home/zhouweixiang/下载/android-studio/modules/module-descriptors.jar -Didea.platform.prefix=AndroidStudio -XX:FlightRecorderOptions=stackdepth=256 --add-opens=java.base/sun.net.www.protocol.https=ALL-UNNAMED -Djava.security.manager=allow -Dij.startup.error.report.url=https://issuetracker.google.com/issues/new?component=192708 -XX:CompileCommand=exclude,org.jetbrains.kotlin.serialization.deserialization.TypeDeserializer::simpleType -XX:CompileCommand=exclude,org.jetbrains.kotlin.serialization.deserialization.TypeDeserializer::toAttributes -Dsplash=true -Daether.connector.resumeDownloads=false -Dcompose.swing.render.on.graphics=true --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/jdk.internal.vm=ALL-UNNAMED --add-opens=java.base/sun.net.dns=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.fs=ALL-UNNAMED --add-opens=java.base/sun.security.ssl=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED --add-opens=java.desktop/com.sun.java.swing=ALL-UNNAMED --add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED --add-opens=java.desktop/javax.swing.text=ALL-UNNAMED --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED --add-opens=java.desktop/sun.awt=ALL-UNNAMED --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --add-opens=java.desktop/sun.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/sun.awt.image=ALL-UNNAMED --add-opens=java.desktop/sun.font=ALL-UNNAMED --add-opens=java.desktop/sun.java2d=ALL-UNNAMED --add-opens=java.desktop/sun.swing=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED com.android.tools.idea.MainWrapper zhouwei+ 2304091 0.0 0.0 4136 2280 ? S 11:36 0:01 /home/zhouweixiang/下载/android-studio/bin/fsnotifier zhouwei+ 2304143 0.2 3.5 1898840 571504 ? Sl 11:36 0:39 /home/zhouweixiang/下载/android-studio/plugins/c-clangd/bin/clang/linux/x64/bin/clangd --clion-mode=clion-main -update-debounce=0 -index=false -include-ineligible-results -clang-tidy=0 -resource-dir=/home/zhouweixiang/下载/android-studio/plugins/c-clangd/bin/clang/linux/x64 -keep-asts=30 -ranking-model=heuristics -clion-extra-completion-preamble -clion-keep-obsolete-ast=false -header-extensions=h;h; zhouwei+ 2361297 7.0 9.9 10161420 1604020 ? Ssl 13:54 7:48 /home/zhouweixiang/下载/android-studio/jbr/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED -Xmx2048m -Dfile.encoding=UTF-8 -Duser.country=CN -Duser.language=zh -Duser.variant -cp /home/zhouweixiang/test/git/code-S32/03IMPLEMENT/0301Code/ISA-NaviService/wrapper/dists/gradle-8.11.1-bin/aqblo1612keip6ox4t4vpymx1/gradle-8.11.1/lib/gradle-daemon-main-8.11.1.jar -javaagent:/home/zhouweixiang/test/git/code-S32/03IMPLEMENT/0301Code/ISA-NaviService/wrapper/dists/gradle-8.11.1-bin/aqblo1612keip6ox4t4vpymx1/gradle-8.11.1/lib/agents/gradle-instrumentation-agent-8.11.1.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.11.1 zhouwei+ 2386683 0.0 0.0 14488 5340 pts/6 Ss+ 14:37 0:00 /bin/bash --rcfile /home/zhouweixiang/下载/android-studio/plugins/terminal/shell-integrations/bash/bash-integration.bash -i zhouwei+ 2415177 0.2 1.3 1864704 210168 ? Sl 15:35 0:01 /home/zhouweixiang/下载/android-studio/plugins/android-ndk/resources/lldb/bin/LLDBFrontend 42885 zhouwei+ 2420184 0.0 0.0 12132 2604 pts/0 S+ 15:45 0:00 grep --color=auto -i studio zhouweixiang@KI-ZJ-2961:~$
08-06
内容概要:本文介绍了一个基于冠豪猪优化算法(CPO)的无人机三维路径规划项目,利用Python实现了在复杂三维环境中为无人机规划安全、高效、低能耗飞行路径的完整解决方案。项目涵盖空间环境建模、无人机动力学约束、路径编码、多目标代价函数设计以及CPO算法的核心实现。通过体素网格建模、动态障碍物处理、路径平滑技术和多约束融合机制,系统能够在高维、密集障碍环境下快速搜索出满足飞行可行性、安全性与能效最优的路径,并支持在线重规划以适应动态环境变化。文中还提供了关键模块的代码示例,包括环境建模、路径评估和CPO优化流程。; 适合人群:具备一定Python编程基础和优化算法基础知识,从事无人机、智能机器人、路径规划或智能优化算法研究的相关科研人员与工程技术人员,尤其适合研究生及有一定工作经验的研发工程师。; 使用场景及目标:①应用于复杂三维环境下的无人机自主导航与避障;②研究智能优化算法(如CPO)在路径规划中的实际部署与性能优化;③实现多目标(路径最短、能耗最低、安全性最高)耦合条件下的工程化路径求解;④构建可扩展的智能无人系统决策框架。; 阅读建议:建议结合文中模型架构与代码示例进行实践运行,重点关注目标函数设计、CPO算法改进策略与约束处理机制,宜在仿真环境中测试不同场景以深入理解算法行为与系统鲁棒性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值