Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 12

0
votes
answers
100 views
+10

端口9999服務器不接受請求

0

我想在亞馬遜EC2實例上部署我的套接字[phpws庫]。爲此,我部署了代碼並運行套接字。我選擇了端口9999進行套接字握手,但它不起作用。 我試圖捕獲請求該服務器上通過命令:端口9999服務器不接受請求

sudo tcpdump -i any port 9999 

然後我打這個端口,我沒有收到任何請求。我認爲這是因爲iptables。所以我通過命令檢查它:

sudo iptables -L 

但它清楚地顯示允許所有請求。這裏是輸出:

鏈INPUT(策略ACCEPT) 目標PROT選擇源目的地

鏈FORWARD(策略ACCEPT) 目標PROT選擇源目的地

鏈OUTPUT(策略ACCEPT) 目標保護人選擇來源目的地

在這一點上,我很無能如何前進。任何幫助都是溫和的。尋找答案。

+0

Stack Overflow是編程和開發問題的網站。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。 – jww

沙发
0
1

您還必須在附加到EC2實例的AWS安全組中打開端口9999

+0

是的,自從過去幾個小時以來,我一直在與這個愚蠢的錯誤作鬥爭。非常感謝您的幫助。 – Pradeep

0
votes
answers
64 views
+10

爲什麼我的WSO2 EC2 linux機箱空間不足

0

我在AWS Ec2實例中託管了WSO2 API Manager和WSO2 Idenity服務器。 現在它的內存不足了。 我已清除日誌並嘗試過;但它仍然缺乏空間。 我得到了如何增加大小的解決方案,但我想知道是否有什麼我失蹤。可能是有一些配置或臨時目錄,我應該清理?爲什麼我的WSO2 EC2 linux機箱空間不足

我df命令顯示輸出以下和/ dev/xvda1完全由用戶

$ df -h 
Filesystem  Size Used Avail Use% Mounted on 
devtmpfs   16G 56K 16G 1% /dev 
tmpfs   16G  0 16G 0% /dev/shm 
/dev/xvda1  9.8G 9.7G  0 100%/
+1

看看[這篇文章](https://unix.stackexchange.com/questions/37221/finding-files-that-use-the-most-disk-space),並找到最大的文件在哪裏。請記住,如果文件仍在使用,刪除文件可能不會將空間釋放回文件系統。 – stdunbar

+1

我假設您正面臨內存問題,請檢查 /bin/wso2server.sh中的JVM Xms和Xmx配置。接下來,這也可能是由於限制了linux用戶可以創建的線程數。檢查/etc/security/limits.conf(詳細信息請參閱https://unix.stackexchange.com/questions/127557/increasing-nproc-limit-for-a-non-root-user-only-effective-by-restart)。另外檢查/etc/security/limits.d/90-nproc.conf 在此文件中添加用戶非root用戶。詳細信息在這裏:https://access.redhat.com/solutions/406663 – Pravin

沙发
0
0

你運行內存或磁盤空間?

你已經發布了磁盤大小,但是提到它會出現OOM。

您提供給JVM的內存量是多少?另外,你是否調整了實例的ulimit?

+0

我怎樣才能找到它? – Jocket

0
votes
answers
64 views
+10

將域名轉移到AWS

0

我試圖將我的wordpress網站移動到AWS託管。域用123-reg註冊,我已經在那裏更新NS(並檢查以確認發生了改變)。將域名轉移到AWS

在AWS中,我按照教程設置了一個新的EC2服務器,安裝了LAMP和wordpress,所有測試都恢復正常。還配置了loadbalancer。

我有兩個域名(enablie.com和enablie.co.uk),所以嘗試了一個版本的彈性IP和一個沒有看到它是否有所作爲,但它似乎並沒有。

現在我試圖路由域名的網站似乎並沒有工作 - 當我嘗試登錄上傳我的WordPress的網站通過Updraft它naviagated從該網站http://ec2-35-177-92-36.eu-west-2.compute.amazonaws.com/wp-login.php這個地址,然後說無法打開頁面作爲服務器沒有響應。當我手動將其更改回enablie.co.uk/wp-login.php時,我可以通過登錄詳細信息進行添加,但它會再次返回到http://ec2-35-177-92-36.eu-west-2.compute.amazonaws.com/wp-login.php,並顯示相同的錯誤消息。

我試圖通過更新wp-config.php文件中的WP_HOME和WP_SITEURL來解決此問題,但它尚未解決此問題。

我已經通過了這裏的各種相關問題,但找不到解決問題的任何問題。請告訴我還有什麼我應該嘗試。

感謝

麗莎

+0

你創建這些域的虛擬主機? – DaFois

+0

是的,我做了 - 所有設置新的 –

+0

看來你的主題中的URL是錯誤的... – DaFois

沙发
0
1

問題現在已經得到解決 - 數據庫條目仍指向舊的URL。通過MySQL更新,現在一切正常。

用於選擇合適的數據庫後,下方:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl', 'http://www.newurl') WHERE option_name = 'home' OR option_name = 'siteurl'; 

UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl','http://www.newurl'); 

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl','http://www.newurl'); 
0
votes
answers
68 views
+10

Elastic Beanstalk在啓動腳本失敗

2

我試圖將一個Node.js應用程序部署到彈性beanstalk。問題是,它每次都在啓動腳本中失敗。我將ec2配置爲使用啓動腳本npm start,它執行node app.js(在package.json中定義)。但是,此啓動腳本在ec2中失敗。我得到記錄的錯誤,Elastic Beanstalk在啓動腳本失敗

npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the myProject start script 'node app.js'. 
npm ERR! Make sure you have the latest version of node.js and npm installed. 
npm ERR! If you do, this is most likely a problem with the Portfolio package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node app.js 
npm ERR! You can get information on how to open an issue for this project with: 
npm ERR!  npm bugs myProject 
npm ERR! Or if that isn't available, you can get their info via: 
npm ERR!  npm owner ls myProject 
npm ERR! There is likely additional logging output above. 

這是什麼意思?在我的命令行上運行npm start的壓縮到AWS的同一應用的根目錄中工作正常,在本地主機上運行。我也已經更新兩NPM和Node.js的

這裏是文件結構拉鍊部署:

.ZIP

  • node_modules/
  • 公共/
  • app.js
  • package.json
  • package-lock.json
沙发
0
2

我遇到了Elastic Beanstalk上類似症狀的問題,這是由缺少npm依賴性引起的。一些依賴項本地安裝在node_modules中,但我們全局安裝了一兩個,導致它們在進行部署壓縮時不會被打包。不幸的是Elastic Beanstalk的錯誤信息在這種情況下不是很有用,並且給出了一個通用錯誤。

+0

您是否找到解決方法? –

+0

是的。首先,確保你的項目所依賴的所有npm依賴項都存在於'package.json'文件中。然後將終端或命令行中的目錄切換到您的項目的根目錄並運行'npm install',這將確保您的'node_modules'文件夾填充有'package.json'文件指定的正確依賴關係。看到[這個問題](https://stackoverflow.com/questions/8367031/how-do-i-install-package-json-dependencies-in-the-current-directory-using-npm)獲得更多幫助! –

0
votes
answers
80 views
+10

如何在AWS上停止除AWS之外的所有實例,例如使用某個ID

-3

請幫助我,我想停止除1之外的所有實例,例如Instance ID i-0a5fe830efd1f5df3。有這樣一個腳本,但它會停止所有實例:如何在AWS上停止除AWS之外的所有實例,例如使用某個ID

$ aws ec2 terminate-instance -instance-ids $ (aws ec2 describe-instances 
--filters "Name = instance-state-name, Values = pending, running, stop, stopping" 
--query "Reservations []. Instances []. [InstanceId]" --outout text | tr ' n' '') 

我該怎麼做?

沙发
0
3

據我所知,沒有單一的 CLI命令來執行此操作,因爲大多數AWS命令是包含性的,而不是排他性的。

我會在四個步驟執行此操作:

  • 首先,使用describe-instances獲得所有實例的列表。
  • 迭代返回的實例,將每個實例的ID連接到一個新變量instance-ids。當您的變量爲echo時,最終結果應該看起來像"instance-id-0" "instance-id-1"
  • 刪除您想從instance-ids變量
  • 運行terminate-instances通過保持你的修剪instance-ids變量作爲--instance-ids參數實例的ID。
0
votes
answers
44 views
+10

身份驗證創建一個AMI的新實例沒有硬編碼的祕密密鑰

0

我有一個web應用程序運行在Elastic Bean Stalk。在web應用程序中,我有一個Java Class,它將使用system environment variables中的AWS Access KeyAWS Secret Key或同一Class中的硬編碼密鑰對EC2進行身份驗證。身份驗證創建一個AMI的新實例沒有硬編碼的祕密密鑰

我的問題是,有沒有辦法在EC2中執行某些操作,而無需對密鑰進行硬編碼或從Environment variables獲取密鑰?

我讀了約IAM。我創建了一個IAM User併爲用戶分配了權限。上述密鑰屬於該用戶。

爲什麼我不想硬編碼鍵的原因是因爲它的安全性較低,並且還我覺得有它在Environment variable不太安全以及

沙发
0
0

我不是太肯定「驗證到EC2」,但如果您在EC2實例中運行應用程序,則應使用instance profile訪問AWS服務。您可以參考this如何管理Java的憑證。

板凳
0
0

在IAM中,您將創建一個角色,併爲您的EC2實例分配所需的權限。

然後,您可以將該角色與EC2實例相關聯。任何AWS認知工具或使用AWS開發工具包編寫的應用程序都將使用該角色獲取臨時憑證以完成他們需要執行的操作。

如果你想自己做這個,你需要獲得臨時憑證,按照this。這包括調用本地實例元數據服務:

GET http://169.254.169.254/latest/meta-data/iam/security-credentials/EMR_EC2_DefaultRole 
+0

當您說「AWS aware tools」時,它是否也意味着我的應用程序?如何讓我的應用程序知道IAM? –

0
votes
answers
59 views
+10

使用EC2創建新的EC2實例時創建標記時出錯Java API

0

我正在嘗試使用AWS JAVA API創建新的EC2 instance。但是我得到消息,但以下情況除外使用EC2創建新的EC2實例時創建標記時出錯Java API

異常線程「main」 com.amazonaws.services.ec2.model.AmazonEC2Exception:標籤規範 資源類型必須有一個值(服務:AmazonEC2;狀態代碼: 400; 錯誤代碼:InvalidParameterValue;請求ID:XXXXXX)

public static void main(String[] args) { 
    Ec2Utilities utils = new Ec2Utilities(); 
    Map<String, String> tagMap = new HashMap<String, String>(); 
    tagMap.put("name", "newinstance"); 
    tagMap.put("category", "cat1"); 
    utils.createInstanceFromAmi("t2.micro", "ami-sdfsds", 1, "sg-sdfsd", "nammme", tagMap); 
} 

public void createInstanceFromAmi(String instanceType, String amiId, int count, String securityGroup, 
     String keyName, Map<String, String> tagMap) { 
    AmazonEC2 ec2Client = Auth.getCredentails(); 
    TagSpecification tagSpecs = new TagSpecification(); 
    tagSpecs.setTags(buildTags(tagMap)); 
    RunInstancesRequest runInstancesRequest = new RunInstancesRequest().withTagSpecifications(tagSpecs) 
                     .withInstanceType(instanceType) 
                     .withImageId(amiId) 
                     .withMinCount(count) 
                     .withMaxCount(2) 
                     .withSecurityGroupIds(securityGroup) 
                     .withKeyName(keyName); 

    RunInstancesResult runInstances = ec2Client.runInstances(runInstancesRequest); 

} 

private List<Tag> buildTags(Map<String, String> tagMap) { 
    List<Tag> tagList = new ArrayList<Tag>(); 
    tagMap.forEach((k, v) -> { 
     tagList.add(new Tag(k, v)); 
    }); 
    System.out.println(tagList); 
    return tagList; 
} 
沙发
0
0

我固定它自己。我加入這個

List<TagSpecification> tagSpecifications = new ArrayList<>(); 
    tagSpecifications.add(new TagSpecification().withTags(buildTags(tagMap)) 

buildTags(tagMap)返回`榜」

0
votes
answers
76 views
+10

AWS EB部署問題

1

我試圖將一個Node.js應用程序部署到Elastic Beanstalk。該應用在本地正常工作。然而,當我嘗試部署,我得到的錯誤:AWS EB部署問題

Failed to run npm install. Snapshot logs for more details. 

這裏是EB日誌更詳細的截圖: enter image description here

錯誤日誌(我覺得它很有趣,我得到許可被拒絕 - 那會是什麼意思):

/var/log/eb-activity.log 
------------------------------------- 
    npm ERR! path /tmp/.npm/node-linux-x64 
    npm ERR! code EACCES 
    npm ERR! errno -13 
    npm ERR! syscall mkdir 

    npm ERR! Error: EACCES: permission denied, mkdir '/tmp/.npm/node-linux-x64' 
    npm ERR!  at Error (native) 
    npm ERR! { Error: EACCES: permission denied, mkdir '/tmp/.npm/node-linux-x64' 
    npm ERR!  at Error (native) 
    npm ERR! errno: -13, 
    npm ERR! code: 'EACCES', 
    npm ERR! syscall: 'mkdir', 
    npm ERR! path: '/tmp/.npm/node-linux-x64', 
    npm ERR! parent: 'node' } 
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator. 
    npm ERR! Linux 4.9.58-18.55.amzn1.x86_64 
    npm ERR! argv "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/npm" "install" "--no-save" "[email protected]" 
    npm ERR! node v6.11.5 
    npm ERR! npm v3.10.10 
    npm ERR! path npm-debug.log.487421323 
    npm ERR! code EACCES 
    npm ERR! errno -13 
    npm ERR! syscall open 

    npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.487421323' 
    npm ERR!  at Error (native) 
    npm ERR! { Error: EACCES: permission denied, open 'npm-debug.log.487421323' 
    npm ERR!  at Error (native) 
    npm ERR! errno: -13, 
    npm ERR! code: 'EACCES', 
    npm ERR! syscall: 'open', 
    npm ERR! path: 'npm-debug.log.487421323' } 
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator. 

    npm ERR! Please include the following file with any support request: 
    npm ERR!  /tmp/deployment/application/node_modules/node/npm-debug.log 
    module.js:471 
     throw err; 
    ^

    Error: Cannot find module 'node-linux-x64/package.json' 
     at Function.Module._resolveFilename (module.js:469:15) 
     at Function.resolve (internal/module.js:27:19) 
     at ChildProcess.<anonymous> (/tmp/deployment/application/node_modules/node-bin-setup/index.js:18:27) 
     at emitTwo (events.js:106:13) 
     at ChildProcess.emit (events.js:191:7) 
     at maybeClose (internal/child_process.js:920:16) 
     at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5) 

    npm ERR! Linux 4.9.58-18.55.amzn1.x86_64 
    npm ERR! argv "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/npm" "--production" "rebuild" 
    npm ERR! node v6.11.5 
    npm ERR! npm v3.10.10 
    npm ERR! code ELIFECYCLE 
    npm ERR! [email protected] preinstall: `node installArchSpecificPackage` 
    npm ERR! Exit status 1 
    npm ERR! 
    npm ERR! Failed at the [email protected] preinstall script 'node installArchSpecificPackage'. 
    npm ERR! Make sure you have the latest version of node.js and npm installed. 
    npm ERR! If you do, this is most likely a problem with the node package, 
    npm ERR! not with npm itself. 
    npm ERR! Tell the author that this fails on your system: 
    npm ERR!  node installArchSpecificPackage 
    npm ERR! You can get information on how to open an issue for this project with: 
    npm ERR!  npm bugs node 
    npm ERR! Or if that isn't available, you can get their info via: 
    npm ERR!  npm owner ls node 
    npm ERR! There is likely additional logging output above. 

的package.json:

{ 
    "name": "MyProject", 
    "version": "0.0.1", 
    "private": true, 
    "dependencies": { 
    "body-parser": "latest", 
    "express": "latest", 
    "node": "latest", 
    "nodemailer": "latest" 
    }, 
    "scripts": { 
    "start": "node app.js" 
    } 
} 

這是爲什麼發生?

編輯:添加package.json和錯誤日誌按要求。

+2

那麼日誌文件是怎麼說的? – stdunbar

+0

請發佈您的'package.json',至少腳本部分 –

+1

用log和package.json編輯我的帖子 –

沙发
0
0

在沒有信息去了,這裏有一些猜測:

  • 要手動壓縮和上傳您的應用程序。 Use the CLI tools,出於某種原因eb deploy總是去平滑
  • 你是在一個非常小的情況下,你需要升級到一個有足夠的內存來處理你的依賴

如果這些不幫助,請發表您的package.json 。或者,只需使用Up,它比Beanstalk容易得多。

+0

你在說什麼這些CLI工具?我只看到了在EB部署過程中手動上傳應用程序的選項。 –

+0

這裏是一個使用EB CLI和Node的教程https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html –

+0

我嘗試使用CLI,但它仍然不起作用。我認爲這個問題主要是在EACCS權限的拒絕。 –

0
votes
answers
65 views
+10

AWS Auto Scaling組 - 應用程序負載平衡器每個目標的請求計數

3

在AWS上,您可以創建一個自動擴展策略,該策略根據「每個目標的應用程序負載平衡器請求計數」進行擴展。AWS Auto Scaling組 - 應用程序負載平衡器每個目標的請求計數

篩選

enter image description here

這有1個實例的最小和爲5的最大它應力求實現10「每個目標要求數」爲我ElbTargetGroup。

我的問題是,什麼是「應用程序負載平衡器請求計數每個目標」?

是這樣的:

  • 從負載平衡器的目標數量,以目標的活動連接數?
  • 每5分鐘的請求數除以目標數?
  • 每1分鐘的請求數除以目標數?

文檔here只是說:

目標組中每個目標接收到的請求的平均數量。您必須使用TargetGroup維度指定目標組。

此外,它需要多長時間才能超過該目標,才能開始創建新實例?我問的主要原因是我已經向這個負載平衡器發送了很多請求,但是縮放事件沒有被觸發。

+1

好問題! –

沙发
0
0

答案是您的第一選擇: 「以目標從負載平衡器的目標數除以活動連接數」 無論指標是超過我或5分鐘,取決於你的CloudWatch的設置,如下解釋。

你可以看到在AWS ALB doc

不存在既是「RequestCount」和「RequestCountPerTarget」,其中後者是前者由活動目標數除以所有負載均衡器的指標定義。

您可以在CloudWatch控制檯中看到這兩個指標,但更簡單地在EC2控制檯中查看。選擇左側疼痛目標組,然後選擇監測選項卡。 (請注意,目標組的監控選項卡與負載平衡器屏幕中的監控之間有很多重疊)

根據更改後自動縮放所需的時間,請注意,默認情況下,CloudWatch會檢查指標每5分鐘一班。 AWS recommends你打開詳細的監控,以獲得指標每分鐘

0
votes
answers
56 views
+10

如何使用AWS CodePipeline更新ECS上的容器服務

0

我有一個容器服務的ECS羣集。我已經設置CodePipeline在更新上構建新容器並將其推送到ECR。如何觸發羣集的更新以使用新更新的容器?如何使用AWS CodePipeline更新ECS上的容器服務

沙发
0
0

由於您使用的是CodePipeline,因此您可能會在構建新映像後觸發CloudFromation堆棧。然後CloudFormation堆棧將創建一個新的任務定義並更新您的ECS服務。這是一個參考架構。

enter image description here

您可以使用this參考架構的持續部署。 CloudFormation模板附在上面的Github倉庫中。

板凳
0
1

AWS CodePipeline支持現在直接部署到ECS。您可以使用新的ECS部署操作來更新您的ECS服務,以使用您創建的新容器映像。您需要修改構建步驟以輸出一個配置文件,其中包含您構建的新圖像的圖像URL。更多細節可以在這裏找到https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html

+0

請回答真正的問題*「我怎樣才能觸發更新到我的集羣使用新更新的容器?」*在答案本身。 –