CGI <cgi>
Gambaran Umum
Elemen mengonfigurasi <cgi>
pengaturan default untuk aplikasi Common Gateway Interface (CGI) untuk Internet Information Services (IIS) 7. Pengaturan ini menentukan lingkungan yang akan digunakan IIS 7 saat meluncurkan proses CGI. Misalnya, atribut createCGIWithNewConsole dan createProcessAsUser menentukan bagaimana IIS 7 akan meluncurkan aplikasi CGI, dan atribut batas waktu menentukan berapa lama IIS akan membiarkan aplikasi CGI berjalan sebelum mengakhiri proses.
CGI terkadang dianggap sebagai lingkungan aplikasi warisan. Karena overhead pemrosesan yang terkait dengan peluncuran aplikasi CGI sebagai proses terpisah, teknologi seperti Modul HTTP, ekstensi ISAPI, ASP/ASP.NET, dan FastCGI lebih disukai daripada CGI untuk pengembangan aplikasi.
Catatan
Lingkungan CGI tidak diinstal secara default; namun, menginstal lingkungan CGI juga menginstal fungsionalitas yang diperlukan untuk menggunakan aplikasi FastCGI. Untuk informasi selengkapnya tentang menggunakan FastCGI di IIS 7, lihat <elemen fastCgi> .
Kompatibilitas
Versi | Catatan |
---|---|
IIS 10.0 | Elemen <cgi> tidak dimodifikasi dalam IIS 10.0. |
IIS 8.5 | Elemen <cgi> tidak dimodifikasi dalam IIS 8.5. |
IIS 8.0 | Elemen <cgi> tidak dimodifikasi dalam IIS 8.0. |
IIS 7.5 | Elemen <cgi> tidak dimodifikasi dalam IIS 7.5. |
IIS 7.0 | Elemen ini <cgi> diperkenalkan di IIS 7.0. |
IIS 6.0 | Atribut untuk <cgi> elemen menggantikan properti metabase IIS 6.0 berikut: CreateProcessAsUser, CreateCGIWithNewConsole, dan CGITimeout. |
Siapkan
Elemen <cgi>
ini tidak disertakan dalam penginstalan default IIS 7 dan yang lebih baru. Untuk menggunakan lingkungan CGI, Anda harus terlebih dahulu menginstal layanan peran CGI. Proses penginstalan mendaftarkan layanan peran Common Gateway Interface (CGI) di <globalModules>
elemen dan <modules>
.
Windows Server 2012 atau Windows Server 2012 R2
- Pada taskbar, klik Manajer Server.
- Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur.
- Di wizard Tambahkan Peran dan Fitur , klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya.
- Pada halaman Peran Server , perluas Server Web (IIS), perluas Server Web, perluas Pengembangan Aplikasi, lalu pilih CGI. Klik Berikutnya.
. - Pada halaman Pilih Fitur , klik Berikutnya.
- Pada halaman Konfirmasi pilihan instalasi, klik Instal.
- Pada halaman Hasil , klik Tutup.
Windows 8 atau Windows 8.1
- Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.
- Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.
- Perluas Layanan Informasi Internet, perluas World Wide Web Services, perluas Fitur Pengembangan Aplikasi, lalu pilih CGI.
- Klik OK.
- Klik Tutup.
Windows Server 2008 atau Windows Server 2008 R2
- Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
- Di panel hierarki Manajer Server , perluas Peran, lalu klik Server Web (IIS).
- Di panel Server Web (IIS), gulir ke bagian Layanan Peran , lalu klik Tambahkan Layanan Peran.
- Pada halaman Pilih Layanan Peran dari Wizard Tambahkan Layanan Peran, pilih CGI, lalu klik Berikutnya.
- Pada halaman Konfirmasi Pilihan Penginstalan , klik Instal.
- Pada halaman Hasil , klik Tutup.
Windows Vista atau Windows 7
- Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
- Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan Fitur Windows.
- Perluas Layanan Informasi Internet, lalu pilih CGI, lalu klik OK.
Bagaimana Caranya
Cara mengonfigurasi pengaturan CGI untuk situs
Buka Pengelola Layanan Informasi Internet (IIS):
Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:
- Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Pengelola Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows 8 atau Windows 8.1:
- Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
- Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:
- Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows Vista atau Windows 7:
- Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
- Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
Di panel Koneksi , perluas nama server, perluas Situs, lalu navigasikan ke situs Web atau aplikasi Web yang ingin Anda konfigurasi.
Di panel CGI , konfigurasikan pengaturan yang diperlukan, lalu klik Terapkan di panel Tindakan .
Konfigurasi
Atribut
Atribut | Deskripsi |
---|---|
createCGIWithNewConsole |
Atribut Boolean opsional. Menentukan apakah aplikasi CGI berjalan di konsolnya sendiri. Catatan: Jika nilai diatur ke true, setiap aplikasi CGI membuat konsol baru saat aplikasi dimulai. Nilai false menunjukkan bahwa aplikasi CGI harus berjalan tanpa konsol. Nilai defaultnya adalah false . |
createProcessAsUser |
Atribut Boolean opsional. Menentukan apakah proses CGI dibuat dalam konteks sistem atau dalam konteks pengguna yang meminta. Nilai defaultnya adalah true . |
timeout |
Atribut timeSpan opsional. Menentukan waktu habis untuk aplikasi CGI. Nilai defaultnya adalah 00:15:00 (15 menit) |
Elemen Anak
Tidak ada.
Sampel Konfigurasi
Sampel konfigurasi berikut menentukan bahwa setiap aplikasi CGI membuat konsol baru ketika aplikasi dimulai, bahwa proses CGI dibuat dalam konteks pengguna yang meminta, dan bahwa waktu habis untuk aplikasi CGI adalah 20 menit.
<configuration>
<system.webServer>
<cgi createCGIWithNewConsole="true"
createProcessAsUser="false"
timeout="00:20:00" />
</system.webServer>
</configuration>
Kode Sampel
Sampel kode berikut menentukan bahwa setiap aplikasi CGI membuat konsol baru ketika aplikasi dimulai, bahwa proses CGI dibuat dalam konteks pengguna yang meminta, dan bahwa waktu habis untuk aplikasi CGI adalah 20 menit
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/cgi /createCGIWithNewConsole:"True" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/cgi /createProcessAsUser:"False" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/cgi /timeout:"00:20:00" /commit:apphost
Catatan
Anda harus memastikan untuk mengatur parameter penerapan ke apphost
saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection cgiSection = config.GetSection("system.webServer/cgi", "Default Web Site");
cgiSection["createCGIWithNewConsole"] = true;
cgiSection["createProcessAsUser"] = false;
cgiSection["timeout"] = TimeSpan.Parse("00:20:00");
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim cgiSection As ConfigurationSection = config.GetSection("system.webServer/cgi", "Default Web Site")
cgiSection("createCGIWithNewConsole") = True
cgiSection("createProcessAsUser") = False
cgiSection("timeout") = TimeSpan.Parse("00:20:00")
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var cgiSection = adminManager.GetAdminSection("system.webServer/cgi", "MACHINE/WEBROOT/APPHOST/Default Web Site");
cgiSection.Properties.Item("createCGIWithNewConsole").Value = true;
cgiSection.Properties.Item("createProcessAsUser").Value = false;
cgiSection.Properties.Item("timeout").Value = "00:20:00";
adminManager.CommitChanges();
Vbscript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set cgiSection = adminManager.GetAdminSection("system.webServer/cgi", "MACHINE/WEBROOT/APPHOST/Default Web Site")
cgiSection.Properties.Item("createCGIWithNewConsole").Value = True
cgiSection.Properties.Item("createProcessAsUser").Value = False
cgiSection.Properties.Item("timeout").Value = "00:20:00"
adminManager.CommitChanges()
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk