Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Barındırılan Hedefler proxy'sinin dağıtımını kaldırma
Barındırılan Hedefler uygulamasını içeren bir Uç proxy'nin dağıtımını kaldırdığınızda, ilişkili Barındırılan Hedefler uygulamasının dağıtımı kaldırılır ancak temel uygulama görüntüsü silinmez. Şu durumda: proxy'yi yeniden dağıttığınızda, Barındırılan Hedefler uygulaması tekrar dağıtılır.
Barındırılan hedefler proxy'sini silme
Barındırılan Hedefler proxy'sini sildikten sonra temel çalışma zamanı örneklerinin çalışması durur teslim etmeye yardımcı olur. Ancak uygulama kodu değişmeden kalır.
Günlük dosyalarına erişme
Günlük dosyaları, hata ayıklama ve sorun giderme açısından kullanışlıdır. İki tür günlük dosyası görüntüleyebilirsiniz: Barındırılan hedefler dağıtımı:
- Derleme günlüğü: Barındırılan Hedefler uygulamasının dağıtımı ve oluşturulmasıyla ilgili çıktılarınızı gösterir.
- Çalışma zamanı günlüğü: Çalışan Barındırılan Hedefler uygulamasıyla ilgili çıktınızı gösterir. Çalışma zamanı günlükleri ortama göre ayarlanır ve şu anda dağıtılmış olan proxy düzeltmesinin günlük bilgilerini gösterir.
Edge kullanıcı arayüzünden günlüklere erişme
- apigee.com/edge adresine gidin.
- Giriş kimlik bilgilerinizi girin ve Oturum Aç'ı tıklayın.
- Geliştir > API Proxy'leri bölümüne gidin.
- Günlüklerini görüntülemek istediğiniz proxy'yi seçin.
- Geliştir sekmesini tıklayın.
- Derleme günlüğünü görmek için Derleme Günlükleri'ni tıklayın. ziyaret edin.
- Çalışma zamanı günlüğünü görmek için Çalışma Zamanı Günlükleri'ni tıklayın.
API ile günlüklere erişme
Barındırılan hedefler günlüklerini almak için bir Edge API'si de kullanabilirsiniz. Ayrıntılar için bkz. Önbelleğe Alınan Node.js Günlüklerini Alın.
Özel bir npm deposu kullanma
Bu bölümde, şu durumlarda Barındırılan Hedeflere Node.js proxy'sinin nasıl dağıtılacağı açıklanmaktadır: özel NPM deposunu nasıl kullanacağınızı göstereceğim.
Özel depo kullanma hakkında bilmeniz gerekenler
Bir Node.js uygulamasını Edge'e dağıttığınızda projenizin tüm bağımlılıkları otomatik olarak içe aktarılır
olduğunu varsayalım.
Barındırılan Hedefler, dağıtıldığında kodunuzda npm install
çalıştırır.
Ancak, geliştirme ortamınızda özel NPM deposu kullanıyorsanız gizli
bağımlılıkları Cloud’da çözülemez. İçinde
Bu durumda çözüm, --bundled-dependencies
dağıtım yardımcı programı Apigeetool öğesini inceleyebilirsiniz. Şu kaynakları da inceleyin
Node.js'yi sisteminizden Edge'e dağıtın.
apigeetool
üzerinde --bundled-dependencies
işaretini kullandığınızda
Node.js uygulaması, Barındırılan Hedefler'e ve listelenen tüm yerel/özel dosyalara yüklenir
bundledDependencies dizisindeki
package.json
içindeki dosyalar sıkıştırılır ve paketle birlikte yüklenir.
Sık karşılaşılan bir durum olmasa da herkese açık bir NPM deposunu dahili olarak yansıtırsanız dağıtımınızın başarısız olacağını unutmayın
Dağıtım paketiniz bir .npmrc
veya package-lock.json
dosyası içeriyorsa
dikkat edin. Bu durumda, .npmrc
veya package-lock.json
anahtar kelimelerini eklemeyin.
proxy paketinizden kaldırın.
Özel NPM deposuyla dağıtma
Özel bir NPM deposundan sağlanan modülleri kullanmak için şu adımları uygulayın:
- npm'ye giriş yapın:
npm login
- npm kimlik doğrulama jetonu alın:
- .npmrc'nizi bulun (~/.npmrc biçiminde olmalıdır).
- .npmrc'nizde satırın sonundaki jetona dikkat edin:
//registry.npmjs.org/:_authToken=****
- İsterseniz listelemek için
npm token <list | create | revoke>
komutlarını da kullanabilirsiniz: ya da yetkilendirme jetonu oluşturabilir veya iptal edebilir. npm-token'ı inceleyin dokümanlarına bakın. - Aşağıda açıklandığı şekilde, Anahtar/Değer Eşlemeleri yapılandırma sayfasına erişin.
Edge
Edge kullanıcı arayüzünü kullanarak Anahtar/Değer Eşlemesi yapılandırma sayfasına erişmek için:
- apigee.com/edge adresinde oturum açın.
- Yönetici > Ortamlar > Anahtar/Değer Eşlemeleri'ni tıklayın.
Klasik Edge (Private Cloud)
Klasik Edge kullanıcı arayüzünü kullanarak Anahtar/Değer Eşlemesi yapılandırma sayfasına erişmek için:
- ms-ip olan
http://ms-ip:9000
uygulamasında oturum açın Yönetim Sunucusu düğümünün IP adresi veya DNS adı. - API'ler > Ortam Yapılandırması > Anahtar/Değer Eşlemeleri'ni tıklayın.
- + Anahtar/Değer Eşlemesi'ni tıklayın.
- Yeni Anahtar/Değer Eşlemesi iletişim kutusunda bir ad girin ve Şifrelenmiş'i seçin.
- Ekle'yi tıklayın.
- Önceden bulduğunuz veya oluşturduğunuz kimlik doğrulama jetonunu, KVM'lerin her birine yeni bir giriş olarak ekleyin. bir şablondur.
- app.yaml dosyanıza, KVM ve anahtara referans veren bir giriş ekleyin. npm kimlik doğrulama jetonuyla ilişkilidir. Şuna benzer bir görünümde olacaktır:
- Üst düzey name özelliği, ortamın adına karşılık gelir. değişkeni oluşturabilirsiniz.
- valueRef altındaki ad, kullandığınız KVM'ye karşılık gelir oluşturabilirsiniz.
- key özelliği, kullandığınız npm jetonuyla eşlenen anahtara karşılık gelir KVM'ye eklenir.
- Bundle.json'unuzla aynı dizinde bir .npmrc dosyası oluşturun. Bu
dosyası şuna benzer bir görünümde olacaktır:
veya//registry.npmjs.org/:_authToken=${NPM_TOKEN}
registry.npmjs.org
kullanmıyorsanız kapsamı .npmrc dosyasında şuna benzer bir satır ekleyerek:@myscope:registry=https://mycustomregistry.example.org
Ayrıca npmrc dokümanlarına da bakın. - Node.js proxy'nizi .npmrc ve app.yaml dosyalarını ekleyerek yükleyin veya güncelleyin.
- Yeni veya güncellenen proxy'nizin dağıtıldığından ve istenen özel depoyla çalıştığından emin olun. modülünü kullanabilirsiniz.
- Proxy dağıtılmazsa derleme günlüklerini kontrol ederek gizli npm modülü. Öyleyse:
- Geliştirme sekmesinde .npmrc öğesinin bulunduğundan emin olun.
- Jetonunuzun geçerli olduğundan emin olun (mevcut jetonla modülü yerel olarak yüklemeyi deneyin) arasında yer alır).
- Özel bir kapsam kullanıyorsanız bunun ayarlandığından emin olun.
env:
- name: NPM_TOKEN
valueRef:
name: npm_store
key: private_token
Burada:
Paketlenmiş bağımlılıklar için NPM sürümünü belirtme
Varsayılan olarak NPM v4, Barındırılan Hedefler ortamında paketlenmiş bağımlılıkları yüklemek için kullanılır.
Ancak farklı bir NPM sürümü kullanmak isterseniz bunu NPM_VERSION
bölümünde belirtebilirsiniz.
ortam değişkeni Bu değişkeni uygulamanın manifest dosyasında ayarlayabilirsiniz. Ayrıntılar için Manifest dosyası öğeleri bölümüne bakın.
Paketlenmiş bağımlılıklar kullanıyorsanız ve NPM_VERSION
belirtmezseniz Barındırılan Hedefler
varsayılan olarak NPM v4'ü kullanır. Paketlenmiş bağımlılıklar kullanmıyorsanız
kullanılan bir kontrol listesidir.
Gruplandırılmış bağımlılık örneği
Barındırılan Hedeflerle birlikte gruplandırılmış bağımlılıklar özelliğini gösteren bir örnek için Özel modüller kullanarak Barındırılan İşlevler ile Node.js uygulaması oluşturma.Durum denetimi uç noktası ekleyin
Node.js uygulamanız için durum denetimi uç noktası uygulama seçeneğiniz vardır. Apigee, Node.js uygulaması, uygulamanın kapsayıcıda çalışıp çalışmadığını kontrol etmeye başlar.
Apigee'nin beklediği uç nokta varsayılan olarak /health
şeklindedir. Varsayılan değeri değiştirebilirsiniz
uç noktasını,
HOSTED_TARGET_HEALTH_CHECK_PATH
Bu değişkeni uygulamanın manifest dosyasında ayarlayabilirsiniz
dosyası olarak kaydedebilirsiniz. Ayrıntılar için Manifest dosyası öğeleri bölümüne bakın.
Durum denetimi uç noktası uygulanması gerekmez. Ancak bir durum denetimi uygularsanız aşağıdaki noktalara dikkat edin:
- Apigee uç noktaya ulaştığında uygulamanız çıkarsa uygulama beklendiği gibi başlamaz.
- Uç noktanızın 404 Bulunamadı HTTP durumu döndürmesi sorun yaratmaz.
/health
veyaHOSTED_TARGET_HEALTH_CHECK_PATH
yalnızca uygulamanızın çalışıp çalışmadığını kontrol etmek için kullanılır. Gerçek yanıt yoksayılır.
NPM önbellek konumunu değiştirme
Node.js'nin yeni sürümleri, NPM önbelleği için /root/.npm
kullanan bir NPM sürümünü kullanır.
Dizin konumu salt okunur olduğundan, bu konum Barındırılan Hedefler için bir sorun teşkil eder.
Barındırılan Hedef çalışma zamanı, yalnızca /tmp
ürününün yazılabilir olduğu bir tmpfs dosya sistemi kullandığından.
Bu sorunu çözmek için npm_config_cache
ortam değişkenini
uygulamanızın
app.yaml
dosya (manifest dosyası)
/tmp
içindeki bir dizine. Örneğin:
runtime: node application: my-express-app env: - name: npm_config_cache value: /tmp/.npm - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
Uygulamanızı NPM olmadan çalıştırma
Barındırılan Hedefler, Barındırılan Hedef uygulamanızı çalıştırmak için varsayılan olarak npm start
kullanır. Ama
Önceki görevde, yeni sürümler NPM'yi kullanmaya çalışacağı için
NPM kullanımıyla ilgili bir sorunu tartıştık.
NPM önbelleği için /root/.npm
. Bu önbellek yazılamaz ve Barındırılan Hedefinizle sonuçlanır
başarısız olur. Önceki görev bu sorunu çözmek için işe yarıyor olsa da, başka bir seçenek
uygulamanızı NPM olmadan çalıştırabilirsiniz. Bunu yapmak için command
ve
args
değerleri uygulamanızın
app.yaml
dosya (manifest dosyası)
Barındırılan Hedefinizi doğrudan node index.js
kullanarak çalıştırın. Örneğin:
runtime: node application: my-express-app command: node args: - index.js env: - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
node index.js
örneğine bakalım.