initial
This commit is contained in:
commit
74ae93a96e
1 changed files with 94691 additions and 0 deletions
107
_resources/nginx.md
Normal file
107
_resources/nginx.md
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
To serve your `index.html` file using Nginx on Arch Linux, you need to follow a few simple steps for installation, configuration, and starting the web server. This guide is meant to help you get started.
|
||||
|
||||
### Step 1: Installing Nginx
|
||||
|
||||
1. **Open your Terminal.**
|
||||
|
||||
2. **Update your system package database** by running:
|
||||
```
|
||||
sudo pacman -Syu
|
||||
```
|
||||
3. **Install Nginx** with the following command:
|
||||
```
|
||||
sudo pacman -S nginx
|
||||
```
|
||||
|
||||
### Step 2: Configuring Nginx to Serve Your HTML File
|
||||
|
||||
1. **Navigate to the Nginx configuration directory:**
|
||||
```
|
||||
cd /etc/nginx
|
||||
```
|
||||
|
||||
2. The main configuration file is `/etc/nginx/nginx.conf`, but for hosting specific sites, it's a good practice to use the `sites-available` and `sites-enabled` structure, which might not be set up by default on Arch. Let's create those directories:
|
||||
```
|
||||
sudo mkdir sites-available
|
||||
sudo mkdir sites-enabled
|
||||
```
|
||||
|
||||
3. Add the following line to the bottom of the `nginx.conf` file to include the `sites-enabled` directory. You can open it with your favorite text editor, for example:
|
||||
```
|
||||
sudo nano nginx.conf
|
||||
```
|
||||
At the bottom of the file, add:
|
||||
```
|
||||
include /etc/nginx/sites-enabled/*;
|
||||
```
|
||||
Then save and close the file.
|
||||
|
||||
4. **Create a new configuration file** for your site in the `sites-available` directory. Replace `yourdomain.com` with your domain name or `localhost` if you don’t have one:
|
||||
```
|
||||
sudo nano sites-available/yourdomain.com
|
||||
```
|
||||
|
||||
5. Add the following server block (adjust the `server_name` if using a domain, and change `/path/to/your/index.html` to the actual path of your `index.html` file):
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name yourdomain.com; # Or localhost
|
||||
location / {
|
||||
root /path/to/your;
|
||||
index index.html;
|
||||
}
|
||||
}
|
||||
```
|
||||
Save and close the file.
|
||||
|
||||
6. **Create a symbolic link** to enable the site:
|
||||
```
|
||||
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
|
||||
```
|
||||
|
||||
### Step 3: Starting Nginx
|
||||
|
||||
1. **Start the Nginx service** with the following command:
|
||||
```
|
||||
sudo systemctl start nginx
|
||||
```
|
||||
|
||||
2. **Enable Nginx to start at boot:**
|
||||
```
|
||||
sudo systemctl enable nginx
|
||||
```
|
||||
|
||||
### Step 4: Adjusting the Firewall
|
||||
|
||||
If you have a firewall enabled (like `ufw` or `firewalld`), you need to allow HTTP traffic:
|
||||
|
||||
- For `ufw`:
|
||||
```
|
||||
sudo ufw allow 'Nginx Full'
|
||||
sudo ufw reload
|
||||
```
|
||||
|
||||
- For `firewalld`:
|
||||
```
|
||||
sudo firewall-cmd --add-service=http --permanent
|
||||
sudo firewall-cmd --reload
|
||||
```
|
||||
|
||||
### Step 5: Accessing Your Website
|
||||
|
||||
Now, open a browser and go to `http://yourdomain.com` or `http://localhost` if you didn’t set up a domain. You should see your `index.html` page served by Nginx.
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
- If Nginx fails to start or reload, you can check the error messages with:
|
||||
```
|
||||
sudo systemctl status nginx
|
||||
```
|
||||
or
|
||||
```
|
||||
sudo journalctl -xeu nginx
|
||||
```
|
||||
|
||||
- Ensure the `server_name` and the path to your `index.html` are correctly specified in your Nginx site configuration.
|
||||
|
||||
Congratulations, you have now set up Nginx to serve your HTML page on Arch Linux!
|
||||
Loading…
Reference in a new issue