在Ubuntu上使用Nginx创建一个简单的静态网站通常需要执行以下步骤:
1、安装Nginx:
如果尚未安装Nginx,你可以使用以下命令来安装:
sudo apt update
sudo apt install nginx
安装完成后,你可以使用以下命令来启动Nginx并设置其自动启动:
sudo systemctl start nginx
sudo systemctl enable nginx
2、创建网站文件夹:
你可以选择在默认的Nginx网站根目录/var/www/html中创建你的网站,或者创建一个新的目录。假设你要在默认位置创建网站,可以使用以下命令:
sudo mkdir -p /var/www/html/mywebsite
3、创建网站内容:
在刚创建的网站目录中,添加你的网站文件,例如HTML、CSS、JavaScript和其他静态资源文件。你可以使用文本编辑器、FTP工具或其他方法将文件上传到这个目录。(/var/www/html/mywebsite)
4、创建Nginx配置文件:
在/etc/nginx/sites-available/目录中创建一个新的Nginx配置文件。你可以使用文本编辑器创建一个新文件,比如mywebsite,并添加类似以下内容的配置:
mywebsite的内容:
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html/mywebsite;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
替换 your_domain_or_ip 为你的域名或IP地址。
root 指定了你网站的根目录。
index 指定了默认首页文件。
location 配置用于处理网站请求的位置。
5、激活配置文件:
使用以下命令创建配置文件的符号链接到/etc/nginx/sites-enabled/目录中,以激活配置:
sudo ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/
6、检查配置:
使用以下命令检查Nginx配置是否正确:
sudo nginx -t
如果没有错误,你将看到 “syntax is okay” 和 “test is successful” 的消息。
7、重新加载Nginx:
使用以下命令重新加载Nginx以使新配置生效:
sudo systemctl reload nginx
8、配置DNS(如果使用域名):
如果你使用域名,确保为你的域名配置了DNS记录,将域名指向服务器的IP地址。
现在,你的网站应该已经在Nginx上设置好了。你可以通过浏览器访问你的服务器的IP地址或域名来查看你的网站。
在浏览器上输入:域名或ip(127.0,0.1/index.html)
附:一个index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎来到我的网站</title>
</head>
<body>
<header>
<h1>欢迎来到我的网站</h1>
</header>
<nav>
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">关于我们</a></li>
<li><a href="#">联系我们</a></li>
</ul>
</nav>
<main>
<section>
<h2>欢迎来访</h2>
<p>这是一个简单的示例网站。你可以在这里添加你自己的内容和样式。</p>
</section>
</main>
<footer>
<p>© 2023 你的网站名称</p>
</footer>
</body>
</html>
9、其他
1、Nginx常用命令:
./nginx 启动
./nginx -s stop 停止
./nginx -s quit 安全退出
./nginx -s reload 重新加载配置文件
ps aux|grep nginx 查看nginx进程
2、重定向:
rewrite 路径;
3、确权:
auth_request 路径;
4、$uri:
这次的路径
5、内部限制:
internal;
6、尝试访问
try_files $uri=403;
7、打印
echo $uri;
8、去包含其他文件的内容
include mime.types;
9、设置开启两个工作进程(主进程只有一个)
worker_processes 2;
负载均衡
10、负载均衡
location /d {
proxy_pass http://group1/;
}
}
# 负载均衡
upstream group1{
server 14.215.177.39 weight=1;
server 127.0.0.1 weight=1;
}
11、反向代理
location /c {
proxy_pass https://www.baidu.com/;
12、动静分离
13、配置一个可以下载文件的地址(带验证密码):
使用:
在浏览器中写(即可下载文件):
192.168.101.13:1234/文件名
然后输入用户名和密码
配置文件的写法:
server {
listen 1234;
default_type application/octet-stream;
auth_basic “Restricted Access”;
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
root /var/www/html/downloads;
#index index.html;
}
}
注:文件保存到:/var/www/html/downloads/文件名
配置密码文件的方法:
创建文件: /etc/nginx/.htpasswd
之后输入:
sudo apt-get update
sudo apt-get install apache2-utils
htpasswd /path/to/your/.htpasswd username 然后输入密码,
注:这里的用户名是username,
修改 nginx.conf 文件后,重新加载配置文件:
nginx -t //检查配置文件修改的有没有问题
nginx -s reload //重载配置文件
注:一般配置文件在:/etc/nginx/nginx.conf