Question: Can I have two separate servers for hosting and signalling?. Or is it better to just configure the signalling server within the hosting server?

Answer: 
There is no specific restrictions to hosting webrtc signaling server. You can host your signaling server separate from your web application server if you want. You even can use cloud services like **[pusher](https://pusher.com/)** or **[firebase](https://firebase.google.com/)** as signaling servers. There is no restriction regarding to the location of your signaling service as long as you make your signaling service accessible from your website. 

Here is the link to sample code where I use Pusher service as my signaling service and my hosting server is [codesandbox.io](https://codesandbox.io) .
[webrtc video chat using scaledrone.js service as signaling server](https://codesandbox.io/s/video-chat-webrtc-m2grv)
There are 4 servers needed to run most WebRTC services:

1. **Web Server**: Where we host our product/application(server behind the URL).
2. **Signaling Server**: handling calls, sessions and rooms. Used to send SDP offer/answer messages between WebRTC devices.
3. **STUN?TURN Server**: Takes care of making sure media gets connected, even if there are firewalls and NATs along the route.
4. **Media Server**: Optional, used when you need to process media in one way or another on the server side.

You don't need to host Signaling Server separately, You can merge your web and signaling server together. But if you want, you can use [firebase](https://firebase.google.com/), [PubNub](https://www.pubnub.com/), [Pusher](https://pusher.com/)
e.t.c services.

Source: [BlogGeek.me](https://bloggeek.me/)