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: 49

0
votes
answers
24 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
37 views
+10

Streaming a dynamic zip from Amazon S3

I am looking for a way to dynamically stream download a zip of files from Amazon S3.

The application is hosted on EC2 and the files are stored on S3.

Need to give users the ability to select from a group of files which will then get bundled up and downloaded to them.

Have heard about a few Actionscript libraries (aszip and fzip) that might be possible, or could do this in Ruby, or even possibly PHP.

The files do not need any compression, zip is just being used to bundle the files up into one single download....

0
votes
answers
35 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
45 views
+10

如何將我的統一項目連接到EC2實例上的mysql服務器

1

我想從我的MySQL服務器獲取數據到我的Unity項目。我試圖讓像這樣的數據:如何將我的統一項目連接到EC2實例上的mysql服務器

public string awsurl = "ec2-174-129-82-141.compute-1.amazonaws.com/connect_to_server.php"; 
IEnumerator GetScores() 
{ 
     print("get scores start"); 
     WWW aws_get = new WWW(awsurl); 
     yield return aws_get; 
     print("getscore here"); 
     if (aws_get.error != null) 
     { 
      print("There was an error getting aws: " + aws_get.error); 
     } 
     else 
     { 
      print(aws_get.text); // this is a GUIText that will display the scores in game. 
     } 
} 

我有一個PHP腳本我的服務器來處理,因爲我使用的的MySqlConnection庫我合一項目有麻煩的互動上。 這裏是我的PHP腳本:

$address = "localhost" 
$dbusername = "root"; 
$dbpassword = "root"; 
$db_name = "watshoes"; 
$db_conn = new mysqli($address, $dbusername, $dbpassword, $db_name); 
    if(isset($_POST['username'])) $username = $_POST['username']; 
    if(isset($_POST['user_id'])) $user_id = $_POST['user_id']; 
    if(isset($password)) $password =$_POST['password']; 

    $stmt = $db_conn->prepare("SELECT image FROM ImageText"); 
    // "s" means the database expects a string 
    $stmt->bind_param("s", $user_id); 
    if($stmt->execute()) 
    { 
     /* bind result variables */ 
     $stmt->bind_result($image); 
     /* fetch value */ 
     $stmt->fetch(); 
     echo $image; 
    } 
    else 
    { 
     echo "query failed"; 
    } 
    $stmt->close(); 
    $db_conn->close(); 

但每次我運行代碼時我得到這個錯誤:There was an error getting aws: Failed to connect to ec2-174-129-82-141.compute-1.amazonaws.com port 80: Timed out

感謝您看代碼,並請讓我知道如果有什麼我可以做幫助。

0
votes
answers
39 views
+10

AWS EC2實例調度程序很容易

1

我使用ec2進行開發,下班後浪費金錢。需要多少時間才能創建一個每天早晨8點自動啓動並於晚上7點結束的調度程序? 我已閱讀AWS提供的指南,但有點困難。 https://aws.amazon.com/ko/answers/infrastructure-management/ec2-scheduler/AWS EC2實例調度程序很容易

沙发
0
0

雖然它很難實現劃傷,您可以使用ec2-scheduler.template部署CloudFormation堆棧提供所需的平臺來調度。

這種方法比使用預定的Lambda函數和EC2 SDK從頭開始實現它更方便。

板凳
0
0

這也是很好,使自己的導遊爲基礎,大約需要一個星期。

假設開發人員每天花費大約200美元給開發人員,開發5天至少需要1000美元。 CloudScheduler服務每月10美元,如果您有1000美元,則可以使用該服務100個月,大約4年。

??

服務比開發更便宜。只需使用該服務。

地板
0
1

您可以使用Amazon CloudWatch Events輕鬆制定自己的調度程序,以定期觸發AWS Lambda功能。

  • 亞馬遜CloudWatch的活動有安排活動,如啓動一個lambda函數
  • lambda函數可以做任何你願意的話,例如啓動/基於標籤

停止實例的能力參見:Creating an Enterprise Scheduler Using AWS Lambda and Tagging

4楼
0
0

零。 AWS只是發佈免費的東西:https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/

這是一個Lambda函數,它定期運行並查找帶標記的資源以關閉電源。缺點是它的水平很低,你必須爲整個團隊制定一個固定的時間表。但是是免費的。

披露:我與PowerDown合作,提供了一個更進一步的產品,還將處理AutoScale組和Fargate容器 - 並且它會根據用戶需求爲您創建計劃。這裏是我寫的關於它:https://www.powerdown.io/blog/posts/2018/announcing-powerdown.html

0
votes
answers
64 views
+10

如何在沒有rdp的情況下連接到AWS windows服務器?

-1

我已將某些rdp設置更改爲Windows服務器。我可以看到截圖,但無法連接到實例。連接到實例的其他方法有哪些?我沒有快照。如何解決這個問題?如何在沒有rdp的情況下連接到AWS windows服務器?

+0

謝謝你,我又重新開放後。 –

沙发
0
2

在做任何事情之前,先創建一個服務器的AMI。

如果您通過任何其他工具搞亂了RDP,您將無法使用RDP連接到實例。您可以通過在另一個Windows實例上附加根EBS卷並進行修復來修復設置。

本文將介紹如何將Windows卷連接到另一臺服務器。只需跳過關於重置密碼的內容即可。

Resetting the Windows Administrator Password

如果更改RDP在註冊表中進行了改造,你還可以將在其他Windows實例的註冊表。然後撤消/修復您的更改。

只要確保您使用相同的Windows版本上面的所有內容。

Load or Unload Registry Hives

Edit another Windows install's registry

+0

我在技術上並不健全,我們可以通過cmd或powershell連接遠程計算機,並且可以進行任何修改以解決問題嗎? –

+1

你將需要找到有經驗的Windows系統的人。步驟很簡單,但你需要知道你在做什麼。 –

+0

我現在處於加載配置階段。但不知道要載入什麼以及要更改什麼 –

0
votes
answers
34 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

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

0
votes
answers
27 views
+10

Django需要Nginx幫助

1

我正在嘗試將我的網站部署到aws ec2。它在python/django中,我想學習如何自己部署網站。我對aws的EBS有一些問題,所以首先我想知道如何手動執行此操作。 我決定爲此使用gunicorn和nginx。Django需要Nginx幫助

我可以使用gunicorn在虛擬ENV運行的網站,我在/home/ec2-user/gunicorn_start.bash創建下面的腳本:

#!/bin/bash 

NAME="davidbiencom"         # Name of the 
application 
DJANGODIR=/home/ec2-user/davidbien    # Django project directory 
SOCKFILE=/home/ec2-user/virtual/run/gunicorn.sock 
USER=ec2-user          
GROUP=ec2-user          
NUM_WORKERS=3          
DJANGO_SETTINGS_MODULE=davidbiencom.settings    
DJANGO_WSGI_MODULE=davidbiencom.wsgi      

echo "Starting $NAME as `whoami`" 

# Activate the virtual environment 
cd $DJANGODIR 
source /home/ec2-user/virtual/bin/activate 
export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE 
export PYTHONPATH=$DJANGODIR:$PYTHONPATH 
# Create the run directory if it doesn't exist 
RUNDIR=$(dirname $SOCKFILE) 
test -d $RUNDIR || mkdir -p $RUNDIR 

# Start your Django Unicorn 
# Programs meant to be run under supervisor should not daemonize themselves (do$ 
exec gunicorn ${DJANGO_WSGI_MODULE}:application  
--name $NAME  
--workers $NUM_WORKERS  
--user=$USER --group=$GROUP  
--bind=unix:$SOCKFILE  
--log-level=debug  
--log-file=- 

因爲沒有錯誤此運行良好,我相信。 接下來我安裝nginx並啓動服務。我確認它正在運行,因爲我收到歡迎頁面。接下來,我做到以下幾點:

  1. 轉到/etc/nginx/nginx.conf並添加以下到http

    包括/etc/nginx/sites-enabled/*.conf;

然後我在/ etc/nginx/sites-available和sites-enabled中創建了兩個文件夾。 我創建一個文件davidbien.conf並輸入以下內(修訂版):

upstream app_server { 
# fail_timeout=0 means we always retry an upstream even if it failed 
# to return a good HTTP response 

# for UNIX domain socket setups 
server unix:/home/ec2-user/virtual/run/gunicorn.sock fail_timeout=0; 

# for a TCP configuration 
# server 192.168.0.7:8000 fail_timeout=0; 
} 

server { 
listen 80; 
server_name 35.176.185.50; 

#Max upload size 
client_max_body_size 75M; # adjust to taste 

location /static/ { 
    root /home/ec2-user/davidbien/static; 
} 

location/{ 
    # checks for static file, if not found proxy to app 
    try_files $uri @proxy_to_app; 
} 

location @proxy_to_app { 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    # enable this if and only if you use HTTPS 
    # proxy_set_header X-Forwarded-Proto https; 
    proxy_set_header Host $http_host; 
    # we don't want nginx trying to do something clever with 
    # redirects, we set the Host: header above already. 
    proxy_redirect off; 
    proxy_pass http://app_server; 
    } 
} 

我保存這個文件並運行以下命令:

ln -s /etc/nginx/sites-available/davidbiencom.conf /etc/nginx/sites-enabled/davidbiencom.conf 

此步驟完成後我重啓nginx的,我當我輸入IP地址時,我得到502錯誤的網關錯誤。

這裏有什麼問題? 謝謝。

編輯: 這裏的錯誤日誌的無功/日誌/ nginx的/ error.log中

2017/11/10 22:26:27 [error] 27620#0: *1 open() "/usr/share/nginx/html/favicon.iicon.ico" failed (2: No such file or directory), client: 2.96.149.96, server: $localhost, request: "GET /favicon.ico HTTP/1.1", host: "35.176.185.50",referrer: "http://35.176.185.50/" 

編輯2: 這裏的等/ nginxnginx/conf目錄文件:

http { 
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
        '$status $body_bytes_sent "$http_referer" ' 
        '"$http_user_agent" "$http_x_forwarded_for"'; 

access_log /var/log/nginx/access.log main; 

sendfile   on; 
tcp_nopush   on; 
tcp_nodelay   on; 
keepalive_timeout 65; 
types_hash_max_size 2048; 

#include    /etc/nginx/mime.types; 
#default_type  application/octet-stream; 

# Load modular configuration files from the /etc/nginx/conf.d directory. 
# See http://nginx.org/en/docs/ngx_core_module.html#include 
# for more information. 
include /etc/nginx/sites-enabled/*.conf; 

index index.html index.htm; 

server { 
    listen  80 default_server; 
    listen  [::]:80 default_server; 
    server_name localhost; 
    root   /usr/share/nginx/html; 

    # Load configuration files for the default server block. 
    include /etc/nginx/default.d/*.conf; 

    location/{ 

# redirect server error pages to the static page /40x.html 
    # 
    error_page 404 /404.html; 
     location = /40x.html { 
    } 

    # redirect server error pages to the static page /50x.html 
    # 
error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
    } 

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80 
    # 
    #location ~ .php$ { 
    # proxy_pass http://127.0.0.1; 
    #} 
# 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 /scripts$fastcgi_script_name; 
    # include  fastcgi_params; 
    #} 
# deny access to .htaccess files, if Apache's document root 
    # concurs with nginx's one 
    # 
    #location ~ /.ht { 
    # deny all; 
    #} 
} 
沙发
0
1

你」重新告訴nginx它必須將請求轉發到127.0.0.1:3031,但是從我從腳本看到的啓動gunicorn的內容中,gunicorn被綁定到一個套接字上,如果你將在127.0.0.1:3031上啓動你的gunicorn worker,它應該工作

+0

現在我想起來了,我不需要那部分,是嗎?你認爲它可以被刪除? 刪除該行後,我得到403禁止。 – davidb

+0

我認爲gunicorn將在端口8000上啓動,如果你刪除它 –

+0

但不是nginx應該將所有來自端口80的流量都指向該應用程序嗎? 我應該讓它0.0.0.0:80然後呢?我看到一些教程沒有這個設置。 – davidb

0
votes
answers
45 views
+10

在SSH到EC2實例期間權限被拒絕(公鑰)

0

我的密鑰對和可能的SSH權限有問題,因爲我無法再通過SSH連接到我的EC2實例。在SSH到EC2實例期間權限被拒絕(公鑰)

我執行以下命令:

ssh -i /Users/Matt/Downloads/private-key.pem [email protected] 

請記住我剛剛創建的AWS管理控制檯這個密鑰對下載的密鑰的.pem文件到我的下載文件。在回覆「是」以繼續連接後,我會收到以下錯誤消息。

Failed to add the host to the list of known hosts 
(/Users/Matt/.ssh/known_hosts). 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
@   WARNING: UNPROTECTED PRIVATE KEY FILE!   @ 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
Permissions 0644 for '/Users/Matt/Downloads/private-key.pem' are too open. 
It is required that your private key files are NOT accessible by others. 
This private key will be ignored. 
Load key "/Matt/Downloads/private-key.pem": bad permissions 
Permission denied (publickey). 

好了,所以我花了一天的大部分時間解決此並試圖檢索酒館文件,導入,作爲一個密鑰對等,還是我得到許可被拒絕(公鑰)或者是提示輸入不存在的實例關聯密碼。我相當肯定這對我自己的SSH權限來說肯定是個問題,但我迷路了。

這是我得到的終端-v

usage: ssh [-XXXXXXXXXXXXXXX] [-b bind_address] [-c cipher_spec] 
     [-D [bind_address:]port] [-E log_file] [-e escape_char] 
     [-F configfile] [-I pkcs11] [-i identity_file] 
     [-L [bind_address:]port:host:hostport] [-l login_name] [-m 
mac_spec] 
     [-O ctl_cmd] [-o option] [-p port] 
     [-Q cipher | cipher-auth | mac | kex | key] 
     [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port] 
     [-w local_tun[:remote_tun]] [[email protected]]hostname [command] 

任何幫助將衷心感謝一個SSH之後。

+0

SO是用於編程的問題,而不是關於使用或配置Linux的問題。 ServerFault,com,SuperUser.com或unix.stackexchange.com將是更好的地方這樣的問題。 – Barmar

沙发
0
0

答案 - 僅供參考 - 一旦你下載了你的.pem文件,你只需運行下面的命令,然後你就可以通過SSH連接到你的實例。

chmod 400 /Users/Matt/Downloads/private-key.pem 
0
votes
answers
26 views
+10

遠程調試時發生JAVA錯誤

0

我想調試部署在aws服務器上的web應用程序。 我做以下步驟在服務器方:遠程調試時發生JAVA錯誤

1. export JPDA_ADDRESS=8000 
2. export JPDA_TRANSPORT=dt_socket 
3. catalina.sh jpda start 

這樣做後,我檢查Tomcat進程中,它表明調試器上。

在客戶端我使用eclipse霓虹燈。在項目的調試配置中,我提到了aws服務器的IP地址在端口字段的主機字段和調試器的端口。

它給了我下面的錯誤

無法連接到遠程VM。連接超時。 org.eclipse.jdi.TimeoutException

+0

對於哪些端口向外界開放,aws是否存在防火牆限制?也許該端口不能遠程訪問。 – sfat

+1

正如@sfat建議的那樣,檢查端口8000是否在ec2安全組中打開 –

+0

我在AWS上公開了8000端口 – dny

沙发
0
0

@Chacko馬修建議,看來你的安全組是不開放允許端口8000 交通打破打開你的端口所需的步驟。

通過此AWS控制檯啓用此功能。

  1. 轉到https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#Instances:sort=instanceId。用你的信用登錄。
  2. 根據需要更改區域。
  3. 選擇您需要調試的實例。
  4. 在說明選項卡中找到Security Groups條目。
  5. 單擊附加的安全組。
  6. 單擊入站選項卡。
  7. 單擊入站選項卡中的編輯。
  8. 在彈出窗口點擊Add Rule,離開TypeCustom TCP RuleProtocolTCPPort Range 8000,源Custom和你的公網IP地址,根據需要添加Description
  9. 單擊保存。

這應該這樣做,找到你的IP地址,只是谷歌whats my ip。它應該是你的公共IP地址。