ActiveX рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реИрдм рд╡реНрдпреВ VI PHP рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╡реЗрдм рдПрдХреНрд╕реЗрд╕

рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП, LabVIEW рдХреЗрд╡рд▓ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд ActiveX рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, LabVIEW рд╕реЗ рдХрд┐рд╕реА рднреА рдЬрдЯрд┐рд▓ рдкреНрд░рдХрд╛рд╢рди рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд┐рдирд╛ VI рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдХреЛ "рдЯрд╛рдИ" рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред LabVIEW 2020 рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИред

рдлрд┐рд▓рд╣рд╛рд▓ LabVIEW рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдкрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реНрддрд░реЛрдВ рдХреЗ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖рдорддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЙрдирдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ LabVIEW рдореЗрдВ рдПрдХреАрдХреГрдд ActiveX / COM рд╕рд░реНрд╡рд░ рдХреЗ рдЧреИрд░-рдорд╛рдирдХ рдЙрдкрдпреЛрдЧ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ, рдЬрд┐рд╕рд╕реЗ рд╡реЗрдм рдХрд╛ рдЙрдкрдпреЛрдЧ VI рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рд╕рд╛рде рд╣реА рд╕рд╛рде LabVIEW рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐ ActiveX / COM рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкреБрд░рд╛рдиреА рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд░рд╣рдирд╛ рдЬрд╛рд░реА рд╣реИ, рдпрд╣ рдПрдХреАрдХреГрдд ActiveX рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╡реЗрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ LabVIEW рдФрд░ VI рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ LabVIEW рдореЗрдВ рдЗрд╕реА ActiveX рд╕рд░реНрд╡рд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЙрдкрдХрд░рдг-> рд╡рд┐рдХрд▓реНрдк-> VI рд╕рд░реНрд╡рд░, ActiveX рдЪреЗрдХрдмреЙрдХреНрд╕ред


рдЖрдк рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд░реНрд╡рд░ VBScript рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд╛рд▓реВ рд╣реИ рдФрд░ рдЙрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред рдЖрдкрдХреЛ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ labview_test.vbs рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рд╕реЗ рднрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

Dim obj
Set obj = CreateObject("LabVIEW.Application")
'Dim vi
'Set vi = obj.GetVIReference("C:\Users\Dell\Desktop\LabVIEW Web ActiveX\ActiveX Server Executable _LV2012_NI Verified\Executable as ActiveX Server\ActiveX Server.vi")
WScript.Echo(obj.AppName & " ver: " & obj.Version)
'WScript.Echo(vi.GetControlValue("Count"))
'Set vi = Nothing
Set obj = Nothing

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, LabVIEW рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд▓рд╛рдПрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдкрд╣рд▓реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, LabVIEW рдЙрджрд╛рд╣рд░рдг ActiveX / COM рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдпрд╣ рд╕рдм "рд▓реЛрдб рдФрд░ рдЕрдирд▓реЛрдб" рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред Labview_test.vbs рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд░реВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдЙрд╕рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдирд╛рдо рд╣реЛрдЧрд╛ред


рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг VI рдбрд┐рд╡рд╛рдЗрд╕ "ActiveX Server.vi" рдмрдирд╛рдпрд╛ред рдЗрд╕рдореЗрдВ рдХрдИ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ VI рд╣рдо рдЗрд╕реЗ рд▓реЛрдб рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдЧрд╛ред


LabVIEW рд╕реЗ рд╣рдореЗрдВ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдЕрдм рдЖрдк рд╡реЗрдм рд▓реЗрдпрд░реНрд╕ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд╛рдВрдЯреЗрджрд╛рд░ рд░рд╛рд╕реНрддрд╛


рдкрд╣рд▓реЗ рддреЛ рдореИрдВрдиреЗ рдорд╛рдирдХ рд╡рд┐рдВрдбреЛрдЬ рд╡реЗрдм рд╕рд░реНрд╡рд░ Microsoft IIS рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде VBScript рдкрд░ ASP рдкреЗрдЬ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:

<% @language = "vbscript" %>
<html><body>
<p>ASP can output HTML tags as well as plain text</p>
<%
	Dim obj
	Set obj = CreateObject("LabVIEW.Application")
	response.write(obj.AppName & " ver: " & obj.Version & "<br>" & vbCr)
	Dim vi
	Set vi = obj.GetVIReference("C:\Users\Dell\Desktop\LabVIEW Web ActiveX\ActiveX Server Executable _LV2012_NI Verified\Executable as ActiveX Server\ActiveX Server.vi")
	response.write(vi.GetControlValue("Count") & vbCr)
	set vi = Nothing
	set obj = Nothing
%>
</body></html>

GetVIReference () рд╡рд┐рдзрд┐ VI рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреА рд╣реИред рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░: рдЪрдпрдирд┐рдд VI рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкрдеред

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЙрдЯрдкреБрдЯ:

LabVIEW.exe ver: 20.0
123 

рд╕рд╣реА рд╣реИ, рдореБрдЭреЗ IIS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреВрд▓ рдФрд░ рдЕрдирд╛рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрдпрд╛рдкрди рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░рдиреА рдереА, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╡рд░реНрддрдорд╛рди рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдерд╛ред

рдореИрдВрдиреЗ рдПрдПрд╕рдкреА рдореЗрдВ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдкреАрдПрдЪрдкреА рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ред IIS рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ PHP FastCGI рдбреЗрдорди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рд╕реЗрдЯрд┐рдВрдЧ рдирд╣реАрдВ рджреЗрддрд╛, рд╡реЗ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВред PHP рднреА LabVIEW COM рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЯрд╛рдЗрдк рдХрд░рдХреЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛:

$obj = new COM('LabVIEW.Application');

рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЬрдм LabVIEW рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ VI рд╕рдХреНрд░рд┐рдп рд╣реИ (ActiveX Server.vi)ред PHP (ASP) рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╕рдордп, LabVIEW.exe рдХрд╛ рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рд╕рдорд╛рдирд╛рдВрддрд░ (рдФрд░ рдХрд╛рдлреА рд╕рдордп рдХреЗ рд▓рд┐рдП) рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдлрд┐рд░ GetVIReference () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдиреЗ ActiveX Server.vi рдХрд╛ рдЕрдкрдирд╛ рдЙрджрд╛рд╣рд░рдг рд▓реЛрдб рдХрд┐рдпрд╛ред PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░, LabVIEW рдЙрджрд╛рд╣рд░рдг рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрдиред LabVIEW рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓ рд░рд╣реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЪреМрд░рд╛рд╣рд╛ рдирд╣реАрдВ рдерд╛ред рдкреНрд░рд╕рд┐рджреНрдз рдкреНрд░реЛрд╕реЗрд╕ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдордирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред IIS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреВрд▓ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде "рдЧреЗрдо" рдиреЗ рднреА рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджрд┐рдпрд╛ред рдЦреБрдж рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдХрд┐ IIS рд╕рд┐рд╕реНрдЯрдо рдХреА рдУрд░ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдбреЗрдореЙрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП LabVIEW.exe рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджрд░реНрдн рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ Windows рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЦреБрд▓реЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред

рдлрд┐рд░ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдУрд░ рд╕реЗ рд╕рд╛рдзрд╛рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЛрдб рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рддреГрддреАрдп-рдкрдХреНрд╖ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдЙрддреНрдкрдиреНрди рд╣реБрдЖред рдкрд╕рдВрдж NGINX рдкрд░ рдЧрд┐рд░ рдЧрдпрд╛, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ LabVIEW WebServices рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

nginx


рд╣рдо рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП nginx рдХреЗ рдЙрдкрд▓рдмреНрдз рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓реЗрддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ nginx-1.17.10ред PHP рдХреЛ NGINX рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ ред

рд╕рд░рд▓ рдиреНрдпреВрдирддрдо NGINX рд╕реЗрдЯрдЕрдкред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ: c: \ nginx-1.17.10 \ conf \ nginx.conf
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реВрдЪреА рдЬреЛрдбрд╝рдирд╛:

nginx.conf:

location / {
	root   html;
	index  index.html index.htm;
	autoindex on;
}

рд╕рд░реНрд╡рд░ рд░реВрдЯ рдореЗрдВ FastCGI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ PHP рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
	root           html;
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
	include        fastcgi_params;
}

Php


рд╣рдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП PHP рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рд▓реЗрддреЗ рд╣реИрдВ ред рдореИрдВрдиреЗ php-7.4.5-nts-Win32-vc15-x64.zip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ c: \ php-7.4.5-nts-Win32-vc15-x64

рдирд╛рдо рдмрджрд▓реЗрдВ рдФрд░ php.ini рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ (рдЬреЛ php рд╣реИред рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдЖрдИрдПрдирдЖрдИ-рд╡рд┐рдХрд╛рд╕)ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:

php.ini:

short_open_tag = On
html_errors = On
error_reporting = E_ALL & ~E_NOTICE
extension_dir = "ext"
extension=gd2
extension=php_com_dotnet.dll

рдпрд╣рд╛рдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреАрдбреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ (рдпрджрд┐ рдЖрдкрдХреЛ LabVIEW рд╕реЗ рдХреБрдЫ рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдФрд░ PHP рдореЗрдВ ActiveX / COM рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП php_com_dotnet.dll рдореЙрдбреНрдпреВрд▓ред

PHP рдореЗрдВ COM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╢рд░реАрд░ рдореЗрдВ 0x0 рд╡рд░реНрдг рд╡рд╛рд▓реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ (VT_BSTR) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЕрдкреНрд░рд┐рдп рдмрдЧ рдХреА рдЦреЛрдЬ рдХреА рдЧрдИ рдереАред рдЗрд╕реЗ php_com_dotnet.dll рдХреА рдЬрдЧрд╣ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде recompiled рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрдЧ рд╡рд┐рд╡рд░рдг рдФрд░ рдкреИрдЪ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЕрднреА рднреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ PHP рдореЗрдВ рддрдп рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ php_com_dotnet.dll (php-7.4.5-nts-Win32-vc15-x64 рдХреЗ рд▓рд┐рдП) рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рдирд┐рд╢реНрдЪрд┐рдд php_com_dotnet.dll рд▓рд┐рдВрдХ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рд╕реНрд╡-рдирд┐рд░реНрдорд╛рдг PHP рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд╛рдЗрдб рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, NGINX TCP рдкреЛрд░реНрдЯ 80, PHP FastCGI рдбреЗрдореЙрди рдкрд░ рдкреЛрд░реНрдЯ 9000 рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрдЧрд╛, рдЬрд╛рдВрдЪ рд▓реЗрдВ рдХрд┐ рдЗрди рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдИ рдЕрдиреНрдп рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╣реАрдВ рд╣реИрдВред

NGINX рдФрд░ PHP FastCGI рдбреЗрдореЙрди рдХреЛ рд╢реБрд░реВ рдФрд░ рд░реЛрдХрдирд╛ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрди рдбреАрдмрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдиреЗ рдореЗрд░реА рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдХрд╛рд░ рд▓рд┐рдпрд╛: рд╕реНрдЯрд╛рд░реНрдЯ-рд░рд┐рд╕реНрдЯрд╛рд░реНрдЯ-рдСрд▓.рд╕реАрдПрдордбреА рдЬреЛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рд╢реБрд░реВ / рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рд╣реЛрддрд╛ рд╣реИ (рдмрд┐рдирд╛ рдбрд┐рдорд╛рдВрдб рд╡рд┐рдВрдбреЛ рдУрдкрди) рдФрд░ рдХрд┐рд▓-рдСрд▓.рдбреАрдбреА рдЬреЛ рдХрд┐ рдореИрдВ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реВрдВред рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рд╕реЗ рд▓реА рдЧрдИ рд░рди рд╣рд┐рдбрди рдХрдВрд╕реЛрд▓ рдпреВрдЯрд┐рд▓рд┐рдЯреА ред

рд╕реНрдЯрд╛рд░реНрдЯ-рдкреБрдирдГ рдЖрд░рдВрдн-all.cmd:

rem @echo off
set PHP_FCGI_MAX_REQUESTS=0
@echo Shutting down servers...
taskkill /f /IM nginx.exe
taskkill /f /IM php-cgi.exe
@timeout 1
@echo Starting servers...
@rem start /b /D "C:\php-7.4.5-nts-Win32-vc15-x64" php-cgi.exe -b 127.0.0.1:9000
RunHiddenConsole.exe "C:\php-7.4.5-nts-Win32-vc15-x64\php-cgi.exe" -b 127.0.0.1:9000
start /b /D "c:\nginx-1.17.10\" nginx.exe
@timeout 3

рдорд╛рд░рдиреЗ-all.cmd:

taskkill /f /IM nginx.exe
taskkill /f /IM php-cgi.exe
pause

рдореИрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ PHP_FCGI_MAX_REQUESTS рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ 500 рд╣реИред рдФрд░ 500 рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрд╛рдж, PHP FastCGI рдбреЗрдорди рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ред рдпрд╣рд╛рдБ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдПрдХ рдЙрджреНрдзрд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдпрд╣ PHP рд╡реНрдпрд╡рд╣рд╛рд░ PHP_FCGI_MAX_REQUESTS рдХреЛ 0 рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ PHP рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓реАрдХ рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, PHP_FCGI_MAX_REQUESTS рдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ 2 PHP рдЯреЗрд╕реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рд▓рд┐рдЦреА рд╣реИрдВ labview.php, labview_png.php, рдЬрд┐рд╕реЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ C: \ nginx-1.17.10 \ html
labview.php рдХреЗ рдореВрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рдореБрдЦреНрдп рдЙрджрд╛рд╣рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ
labview_png.php - LabVIEW ActiveX рд╕рд░реНрд╡рд░ рд╕реЗ рдкрдврд╝реЗ рдЧрдП VT_BSTR рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ PNG рдЫрд╡рд┐ рджреЗрддрд╛ рд╣реИред

labview.php
<?php
if(strpos(exec('tasklist /FI "IMAGENAME eq LabVIEW.exe" /NH'), 'LabVIEW.exe') === false)
	exit("  LabVIEW.exe");?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<title>LabVIEW PHP COM example</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
	<script>
		// setTimeout(function(){
		//	window.location.reload(1);
		// }, 3000);
		// setInterval(function() {
		//	var myImageElement = document.getElementById('myImage');
		// 	myImageElement.src = 'labview_png.php?rand=' + Math.random();
		//}, 200);
	 
		$(document).ready(function(){
			setInterval(function(){
				$("#png").attr('src', 'labview_png.php?rand=' + Math.random());
				$("#auto").load(location.href + " #auto");
			}, 1000);
		});
</script>
	
</head> 
<body>
<?php
//phpinfo();
echo '_GET val: ';
foreach ($_GET as $key => $value)
	echo "$key=$value, ";
echo '<br>', PHP_EOL;

echo '_POST val: ';
foreach ($_POST as $key => $value)
	echo "$key=$value, ";
echo '<br>', PHP_EOL;

define('FPStateInfo', ['Invalid', 'Standard', 'Closed', 'Hidden', 'Minimized', 'Maximized']);
define('ExecStateInfo', ['eBad 0 VI has errors; it cannot run', 'eIdle 1 VI is not running, but the VI is in memory.', 'eRunTopLevel 2 VI is running as a top-level VI', 'eRunning 3 VI is running as a subV']);

$obj = new COM('LabVIEW.Application');
//com_print_typeinfo($obj);

$vi = $obj->GetVIReference('C:\Users\Dell\Desktop\LabVIEW Web ActiveX\ActiveX Server Executable _LV2012_NI Verified\Executable as ActiveX Server\ActiveX Server.vi');

//$vi->OpenFrontPanel();

echo '<form action="" method="post">';
echo '<input type="button" value="Refresh page" onClick=\'window.location.href=window.location.href\'>', PHP_EOL;

$fpstate = $vi->FPState();
$vistate = $vi->ExecState();

if ($_POST['action']==='run_vi' && $vistate <= 1) {
	$vi->Run(true); // async Boolean If TRUE, you do not need to wait for the VI to finish running. The default is FALSE.
} elseif ($_POST['action']==='stop_vi' && $vistate > 1) {
	//$vi->SetControlValue('stop', true);
	//sleep(1);
	$vi->Abort();
} elseif ($_POST['action']==='open_fp' && $fpstate==2) {
	$vi->OpenFrontPanel();
} elseif ($_POST['action']==='close_fp' && $fpstate!=2) {
	$vi->CloseFrontPanel();
}

if ($_POST['Count2']) {
	$vi->SetControlValue('Count2', $_POST['Count2']);
}

echo '<h3>SetControlValue(\'Count2\'):</h3>', PHP_EOL;
echo '<input onchange="this.form.submit()" type="number" name="Count2" value="', $vi->GetControlValue('Count2'), '">', PHP_EOL;

echo '<div id="auto">';

echo '<h3>AppName / Version:</h3>', PHP_EOL;
echo $obj->AppName(), ' / ', $obj->Version(), '<br>', PHP_EOL;

echo '<h3>ExportedVIs:</h3>', PHP_EOL;
foreach ($obj->ExportedVIs() as $value)
	echo $value, '<br>', PHP_EOL;

echo '<h3>FPState:</h3>', PHP_EOL;
$fpstate = $vi->FPState();
echo $fpstate, ', ', FPStateInfo[$fpstate], PHP_EOL;

echo '<button name="action" type="submit" value="open_fp">OpenFrontPanel</button>', PHP_EOL;
echo '<button name="action" type="submit" value="close_fp">CloseFrontPanel</button>', PHP_EOL;

echo '<h3>ExecState:</h3>', PHP_EOL;
$vistate = $vi->ExecState();

if ($vistate > 1) {
	echo '<font color="blue">', $vistate, ', ', ExecStateInfo[$vistate], '</font>', PHP_EOL;
} else {
	echo $vistate, ', ', ExecStateInfo[$vistate], PHP_EOL;
}

echo '<button name="action" type="submit" value="run_vi">Run VI</button>', PHP_EOL;
echo '<button name="action" type="submit" value="stop_vi">Abort VI</button>', PHP_EOL;
echo '</form>', PHP_EOL;

echo '<h3>GetControlValue(\'Count\') / GetControlValue(\'Count2\'):</h3>', PHP_EOL;
echo $vi->GetControlValue('Count'), ' / ', $vi->GetControlValue('Count2'), PHP_EOL;
//echo $vi->SetControlValue('Count2', $vi->GetControlValue('Count')+1), PHP_EOL;

echo '<h3>Array1:</h3>', PHP_EOL;
foreach ($vi->GetControlValue('Array1') as $value)
	echo $value, '<br>', PHP_EOL;

//$png_data = new variant(null, VT_UI1);
//$png_data = variant_set_type($vi->GetControlValue('png data'), VT_UI1);
//echo variant_cast($vi->GetControlValue('png1'), VT_BSTR), PHP_EOL;
//echo mb_strlen($vi->GetControlValue('String1')), PHP_EOL;
//echo variant_get_type($vi->GetControlValue('png1')), PHP_EOL;

echo '<h3>PNG data:</h3>', PHP_EOL;
$png_data = $vi->GetControlValue('PNG data');
echo 'PNG size:' , strlen($png_data), '<br>', PHP_EOL;


echo '</div>';

if ($vistate > 1 && $fpstate!=2) {
	echo '<img src="labview_png.php" id="png">';
}

// variant_set_type($variant, VT_BSTR)
//$png_data = variant_cast($vi->GetControlValue('png data'), VT_U1);


//echo  variant_get_type($png_data), PHP_EOL;
echo $vi->SetControlValue('String1', "123\x00555321");
//com_print_typeinfo($vi);
$obj = null;
?>
</body>
</html>


labview_png.php
<?php
if(strpos(exec('tasklist /FI "IMAGENAME eq LabVIEW.exe" /NH'), 'LabVIEW.exe') === false)
	exit("  LabVIEW.exe");
$obj = new COM('LabVIEW.Application');
$vi = $obj->GetVIReference('C:\Users\Dell\Desktop\LabVIEW Web ActiveX\ActiveX Server Executable _LV2012_NI Verified\Executable as ActiveX Server\ActiveX Server.vi');

$data = $vi->GetControlValue('PNG data');

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
}
else {
    echo ' .';
}
$obj = null;
?>


рдЬрдм рд▓реИрдмрд╡реЗрд╡ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд▓ рд░рд╣рд╛ рд╣реЛ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рд▓реИрдм рд╡реНрдпреВ рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рдЦреБрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреАред рд╣рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓ рдХреЗ рд╕рд╛рде COM рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдмрдирд╛рдиреЗ рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдпред рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдереЛрдбрд╝рд╛ AJAX рдФрд░ "рдкреБрдирд░рд╛рд░рдВрдн" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рдФрд░ LabVIEW рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрдиреБрдХреНрд░рдорд┐рдХ рдкреНрд░рд╛рд░рдВрдн рдФрд░ labview.exe рдХреА рд╕рдорд╛рдкреНрддрд┐ рдХреЗ "рдХрдЫреБрдЖ рдореИрд░рд╛рдерди" рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛ред

рд╡реАрдбрд┐рдпреЛ рд╕рдореАрдХреНрд╖рд╛:


рдЕрдиреБрдмрдВрдзред NGSX рдХреЛ WebServices LabVIEW рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HTTP рдмреЗрд╕рд┐рдХ рдПрдХреНрд╕реЗрд╕ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рд╡реЗрдмрд╕рд░реНрд╡рд┐рд╕ рд▓реИрдмрд╡реНрдпреВ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ (рд▓реИрдмрд╡реНрдпреВ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╕рдЪреНрдЪрд╛рдИ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП)ред рддрдм рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдкреГрд╖реНрдареЛрдВ (рд╡реЗрдмрд╕рд░реНрд╡рд┐рд╕ рд╕рдВрд╕рд╛рдзрдиреЛрдВ) рдХрд╛ рдХреЛрдИ рд╕рд░рд▓ рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд░реНрд╡рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ "рдореГрдд" Microsoft рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдерд╛ред рдФрд░ рдореБрдЭреЗ рдХреБрдЫ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬреИрд╕реЗ рдХрд┐ HTTP рдмреЗрд╕рд┐рдХ рдПрдХреНрд╕реЗрд╕ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкрд╛рд╕рд╡рд░реНрдб рд╕рддреНрдпрд╛рдкрдиред

рдореИрдВрдиреЗ NGINX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рд╡реЗрдм рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Cort_basic рд╕рдХреНрд╖рдо рд╣реИред Http: // server_name: 5500 рдкрддреЗ рдкрд░ рдкрд╣реБрдБрдЪрддреЗ рд╕рдордп рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ http://127.0.0.1:8001/webservice1/ рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╡реЗрдмрд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
Webservice1 рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рднреА рд╕рдВрд╕рд╛рдзрди рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред

nginx.conf:

server {
    listen       5500;
    server_name  localhost;
    location / {
        auth_basic "Unauthorized";
        auth_basic_user_file htpasswd;
        root html;
        #autoindex on;
        #index index.html index.htm;
        proxy_pass http://127.0.0.1:8001/webservice1/;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде htpasswd рдлрд╝рд╛рдЗрд▓:

admin:{PLAIN}1

рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдЖрдк HTTPS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ NGINX рдкреНрд░реЙрдХреНрд╕реА рддрдХ рдкрд╣реБрдБрдЪ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ HTTP рдХреЛ NGINX рд╕реЗ LabVIEW рддрдХ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

All Articles