Free Oracle Cloud VPS (4 Cores 24GB RAM)

aeric

Expert
Licensed User
Longtime User
I have open firewall port 80 on first VM,
But my approach for the second VM is the same as that of the first VM.
But it can't connect.
Not sure is this help.
 

Jones Hone

Active Member
Licensed User
Longtime User
Thank you for the link,
I tried for a long time and it still doesn't work.
Finally, I deleted the VM and rebuilt another one,
Then everything started again,
Finally can connect!
Very good.
Can you create a Compute Instance, now?
 

aeric

Expert
Licensed User
Longtime User
Thank you for the link,
I tried for a long time and it still doesn't work.
Finally, I deleted the VM and rebuilt another one,
Then everything started again,
Finally can connect!
Very good.
Can you create a Compute Instance, now?
I just tried leave everything as default and I just created a minimum VM.

Image: Oracle-Linux-7.9-aarch64-2021.09.23-0
Shape: VM.Standard.A1.Flex 1-OCPU and 6-GB RAM
 

aeric

Expert
Licensed User
Longtime User
I just confused with "Cloud Shell" and "Instance access" (using SSH)

In Cloud Shell, I am login using username "aeric80"
The terminal shows:
aeric80@cloudshell:~ (ap-singapore-1)$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

I can upload files and move my zip files to another directory and unzip them. This login has Java installed too and I tested to run my Web API successfully. If I understand correctly, this user does not have public IP access. Therefore, it is useless to host B4J server for public access.

Then I use PuTTy to login with SSH to the Public IP. The root use is opc.
I am able to create a new user "aeric" and create the Home directory.

The problem is, Java is not install by default. So I install Java 1.8 openjdk.
B4X:
$ sudo yum install java-1.8.0-openjdk

Now, I don't know how to upload files using WinSCP with the information available.

Update: I just use the default "opc" user and able to login with WinSCP with private key then I upload my B4J Web API.
I add a new port number 19800 to Security List (read: https://docs.oracle.com/en-us/iaas/...torials/apache-on-oracle-linux/01-summary.htm)
The site runs but sqlite-jdbc seems not working. It is working now.
URL: http://168.138.180.8:19800/v1/
Reading file (/home/opc/webapi/config.ini)...
Reading file (/home/opc/webapi/queries-sqlite.ini)...
2021-12-17 13:09:54.714:INFO::main: Logging initialized @145ms to org.eclipse.jetty.util.log.StdErrLog
Checking database...
Database found!
2021-12-17 13:09:54.943:INFO:eek:ejs.Server:main: jetty-9.4.z-SNAPSHOT; built: 2018-05-03T15:56:21.710Z; git: daa59876e6f384329b122929e70a80934569428c; jvm 1.8.0_312-b07
2021-12-17 13:09:55.019:INFO:eek:ejs.session:main: DefaultSessionIdManager workerName=node0
2021-12-17 13:09:55.019:INFO:eek:ejs.session:main: No SessionScavenger set, using defaults
2021-12-17 13:09:55.022:INFO:eek:ejs.session:main: node0 Scavenging every 660000ms
2021-12-17 13:09:55.033:INFO:eek:ejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@29ee9faa{/,file:///home/opc/webapi/www/,AVAILABLE}
2021-12-17 13:09:55.036:INFO:eek:ejs.AbstractNCSARequestLog:main: Opened /home/opc/webapi/logs/b4j-2021_12_17.request.log
2021-12-17 13:09:55.052:INFO:eek:ejs.AbstractConnector:main: Started ServerConnector@28694c70{HTTP/1.1,[http/1.1]}{0.0.0.0:19800}
2021-12-17 13:09:55.053:INFO:eek:ejs.Server:main: Started @486ms
Web API server (version = 1.11) is running on port 19800
Open the following URL from your web browser
java.lang.RuntimeException: java.lang.RuntimeException: Class not found: org.sqlite.JDBC
Are you missing an #AdditionalJar attribute setting?
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:137)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:95)
at anywheresoftware.b4j.object.JServlet$Handle.run(JServlet.java:130)
at anywheresoftware.b4j.object.JServlet.Handle(JServlet.java:110)
at anywheresoftware.b4j.object.JServlet.doPost(JServlet.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311)
at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:531)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:760)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:678)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: Class not found: org.sqlite.JDBC
 
Last edited:

Sandman

Expert
Licensed User
Longtime User
Now, I don't know how to upload files using WinSCP with the information available.
If you use SFTP you should be able to the same address and credentials as you use when you ssh.

(I have never used WinSCP but I use Filezilla now and then, just like this.)
 

aeric

Expert
Licensed User
Longtime User
If you use SFTP you should be able to the same address and credentials as you use when you ssh.

(I have never used WinSCP but I use Filezilla now and then, just like this.)
I think I need to regenerate new Public/Private key pair for new user. I will put aside this first.
I just playing with the VM and prove that it is able run B4J server app. :)
 

AymanA

Active Member
Licensed User
I have used some free hosting provided by some smaller companies like 000webhost, free asp hosting and pythonanywhere. So why not bigger companies can’t offer some free starter packages as their marketing tools?
If you are open to suggestions, digitalocean is nice and straightforward, you can't exceed the limit of your resources, unless you purposely would like to increase your resources.

Also they offer referrals, so my link below will give 100 usd credit for two months that you can try their stuff:


I usually use the 5 usd droplet(VM) to do all my backend app testing, because it is cheap and fit the purpose. At end of month I know exactly what I am paying for.

The only drawback I can see in digitalocean ocean is the fact that they do not have shared storage between VMs for the purpose of docker swarm.
 

aeric

Expert
Licensed User
Longtime User
If you are open to suggestions, digitalocean is nice and straightforward, you can't exceed the limit of your resources, unless you purposely would like to increase your resources.

Also they offer referrals, so my link below will give 100 usd credit for two months that you can try their stuff:


I usually use the 5 usd droplet(VM) to do all my backend app testing, because it is cheap and fit the purpose. At end of month I know exactly what I am paying for.

The only drawback I can see in digitalocean ocean is the fact that they do not have shared storage between VMs for the purpose of docker swarm.
I have experienced with digital ocean during my previous job but not really like it. I am using hostinger and would recommend it. For this post, I just sharing for someone who are looking for free VPS.
 

Sandman

Expert
Licensed User
Longtime User
In Spanish "oracle" backwards is "elcaro", "el caro", "the expensive one", and "caro" is the opposite of cheap/economical :D
Oh, that's not the worst of it! I've heard if you download their videos from YouTube and play them backwards, you can find several videos where you hear a voice quietly chanting Satan.


If you don't find it in the first videos you should just keep looking, because it's in there somewhere. Or so I've heard.
 

vecino

Well-Known Member
Licensed User
Longtime User
Oh, that's not the worst of it! I've heard if you download their videos from YouTube and play them backwards, you can find several videos where you hear a voice quietly chanting Satan.


If you don't find it in the first videos you should just keep looking, because it's in there somewhere. Or so I've heard.
How awful, thank goodness you warned us.
:eek::eek::eek:
 

hatzisn

Expert
Licensed User
Longtime User
If you are open to suggestions, digitalocean is nice and straightforward, you can't exceed the limit of your resources, unless you purposely would like to increase your resources.

Also they offer referrals, so my link below will give 100 usd credit for two months that you can try their stuff:


I usually use the 5 usd droplet(VM) to do all my backend app testing, because it is cheap and fit the purpose. At end of month I know exactly what I am paying for.

The only drawback I can see in digitalocean ocean is the fact that they do not have shared storage between VMs for the purpose of docker swarm.

Hi @AymanA . Can I ask you something? Does DigitalOcean support auto provisioning and dropping of droplets according to the use of CPU? I have a web service that kind of demands a fair amount of CPU usage (~4-5% while it works) for each request for around 10-14 seconds each time. Would it be possible using DigitalOcean to face this kind of needs using droplets and dropping them according to the total CPU demand?
 

AymanA

Active Member
Licensed User
Hi @AymanA . Can I ask you something? Does DigitalOcean support auto provisioning and dropping of droplets according to the use of CPU? I have a web service that kind of demands a fair amount of CPU usage (~4-5% while it works) for each request for around 10-14 seconds each time. Would it be possible using DigitalOcean to face this kind of needs using droplets and dropping them according to the total CPU demand?

I think it can be achieved by their APIs, but I am not sure if they natively have something like that, so you may want to reach to their support and ask them for that or for other available options - they are helpful.

They have monitoring agents in droplet and that is how you see your consumption on GUI graphs, so if they offer triggers based on these metrics it would be good.

I can see this link which is a cloud managemen where you can provision droplets and run commands, but I am not sure if it monitor the VM resources:
 
Top