👨🎓博主简介
🏅云计算领域优质创作者
🏅华为云开发者社区专家博主
🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗
文章目录
- 一、nginx虚拟主机,部署网站
- 二、部署单域名/IP网站服务
- 1、创建一个普通用户,用户管理nginx网站服务
- 2、修改nginx主配置文件
- 3、创建虚拟主机nignx子配置文件
- 4、测试nginx配置文件语法,然后启动
- 5、域名访问地址
- 6、IP访问地址
- 三、nginx的配置文件匹配
- 四、部署多域名网站服务
- 1、首先准备两个域名、index路径、nginx配置文件
- 2、创建两个域名的nginx配置文件
- 3、创建两个域名的index.html访问页面
- 4、检查nignx配置是否有误 并 重启nginx服务
- 5、页面访问两个域名
- 五、部署多端口网站服务
- 1、首先准备两个端口、index路径、nginx配置文件(一个即可)
- 2、创建两个port的nginx配置文件(一个配置中)
- 3、创建两个端口的index.html页面
- 4、检查nignx配置是否有误 并 重启nginx服务
- 5、页面访问两个端口
- 5.1 页面访问两个端口 --> 各添加一个jpg页面
- 5.2 页面访问两个端口 --> 各添加一个txt资源
- 到这里就完成了nginx部署一个网站及多个域名的网站和多个端口的网站
- 六、相关文章
一、nginx虚拟主机,部署网站
都是在同一台服务器上部署
二、部署单域名/IP网站服务
1、创建一个普通用户,用户管理nginx网站服务
# 创建一个名为www的用户组 groupadd www -g 666 # 创建一个名为www的用户并添加到www的用户组中 useradd www -u 666 -g 666 -M -s /sbin/nologin # 查看用户id id www #结果 uid=666(www) gid=666(www) groups=666(www)
2、修改nginx主配置文件
[root@iz0jlfqv8fyt7iuxoec4clz ~]# cat /etc/nginx/nginx.conf user www; # 设置运行用户,刚刚创建的用户 worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; # include导入该目录下的*.conf配置文件 }
3、创建虚拟主机nignx子配置文件
只需要写server{}标签即可。
# 先看conf.d下还有没有其他的*.conf结尾的,有的话先备份; mv default.conf default.conf-bak # 创建虚拟主机nignx子配置文件(qqfly配置文件) vim /etc/nginx/conf.d/qqfly.conf # 写入如下信息,自己的根据情况自行修改(域名或ip;index.html的访问路径) server { listen 80; # nginx会匹配 域名/IP:80 server_name 域名/IP/localhost; # 支持中文的参数 charset utf-8; location / { # 根据root参数,填写网页根目录信息 # 表示当你访问 http://域名:80 ,自动来这个目录下找数据 root /www/qqfly/; # 默认找 /www/qqflq/ 的名字叫做index.html的文件 index index.html; } }
上面配置文件中配置了index.html的地址,这里可以看到是没有的,我们创建一下;
# 创建一个存放网页访问地址的目录 mkdir -p /www/qqfly/ # 创建网页静态文件,index.html qqfly.jpg qqfly.txt # 部署一个静态网站,最基本的提供,html,jpg,txt等静态数据;如果是其他类型的文件,nginx默认不解析,直接下载 # nginx都可以帮你去返回,解析请求 cd /www/qqfly/ # 创建静态页面index.html cat > /www/qqfly/index.html >
这是一个 qqfly 的测试页面;用于证明nginx一个网站部署成功了;
> EOF # 创建一个jpg文件 wget -O qqfly.jpg https://i1.hdslb.com/bfs/archive/5edd3d62a5ca140063ef8e32a852348a422b86b6.jpg # 创建一个txt文件 echo "qq飞车游戏很好玩!测试!" > qqfly.txt # 修改静态文件的属主,属组 chown -R www:www /www/4、测试nginx配置文件语法,然后启动
# 检测nginx配置中语法是否有误 nginx -t
ok则为正常,没有错误;
- 启动nginx
# 查看nginx状态 systemctl status nginx # 重启nginx systemctl restart nginx
5、域名访问地址
如果是使用的域名,那么需要在本地配置dns域名解析
分别添加二级域名,三级域名,hosts解析
ip 三级域名 二级域名
- 配置好还是访问不到?
1、可以先看看可以ping通域名吗。
2、检查你本地是否设置了代理,如果有则关闭。
6、IP访问地址
这里我使用的是ip地址访问,因为我的域名需要备案,申请还没下来,所以先用ip测试吧;
- 访问html资源
- 访问jpg资源
- 访问txt资源
- 如果是其他类型的文件,nginx默认不解析,会直接下载
直接生成静态数据,不用重启nginx,这就是磁盘上的一些静态数据
nginx的server{}虚拟主机,以及设置了,去这个目录下搜索资料
nginx默认不识别这个test.ttt格式的文件,因此直接下载了
例如:
cat > /www/qqfly/qqfly.ttt listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } #再看第二个配置文件 [root@iz0jlfqv8fyt7iuxoec4clz conf.d]# cat qqfly.conf server { listen 80; # nginx会匹配 域名/IP:80 server_name 域名; # 支持中文的参数 charset utf-8; location / { # 根据root参数,填写网页根目录信息 # 表示当你访问 http://域名:80 ,自动来这个目录下找数据 root /www/qqfly/; # 默认找 /www/qqflq/ 的名字叫做index.html的文件 index index.html; } } listen 80; #域名1 server_name test1.top; # 支持中文的参数 charset utf-8; location / { root /www/test1/; index index.html; } } listen 80; #域名1 server_name test2.top; # 支持中文的参数 charset utf-8; location / { root /www/test2/; index index.html; } } test1,test2} # 创建完之后,写入数据到test1/index.html中 cat /www/test1/index.html >
test1 页面测试
> EOF- test2 的 index.html
# 给test2域名写入index.html页面数据 cat > /www/test2/index.html listen 81; server_name localhost; # 支持中文的参数 charset utf-8; location / { root /www/81/; index index.html; } } # 82 端口配置 server { listen 82; server_name localhost; # 支持中文的参数 charset utf-8; location / { root /www/82/; index index.html; } } 81,82} # 创建81和82的index页面测试数据 cat /www/81/index.html /www/82/index.html 各添加一个jpg页面
到网上随便照两张图,分别放到/www/81/下和/www/82/下;
# 81端口的图片 wget -O /www/81/81.jpg https://picnew12.photophoto.cn/20180728/81jianjunjieqizhiyishuzizitisheji-30355854_1.jpg # 82端口的图片 wget -O /www/82/82.jpg https://img95.699pic.com/xsj/0v/2f/k8.jpg%21/fw/700/watermark/url/L3hzai93YXRlcl9kZXRhaWwyLnBuZw/align/southeast
这里添加完成之后,不需要重启nginx,直接在页面访问 ip:端口/图片名
- 81 服务器(ip:81/81.jpg)
- 82 服务器(ip:82/82.jpg)
5.2 页面访问两个端口 --> 各添加一个txt资源
echo "我又来测试了,这里是 81 的一个测试页面" > /www/81/81.txt echo "我也又来测试了,这是是 82 的一个测试页面" > /www/82/82.txt
这里添加完成之后,同样也不需要重启nginx,直接在页面访问 ip:端口/txt名
- 81 服务器(ip:81/81.txt)
- 82 服务器(ip:82/82.txt)
到这里就完成了nginx部署一个网站及多个域名的网站和多个端口的网站
六、相关文章
文章标题 文章连接 【Linux】nginx基础篇 – 介绍及yum安装nginx https://liucy.blog.csdn.net/article/details/133928000 【Linux】环境下部署Nginx服务 - 二进制部署方式 https://liucy.blog.csdn.net/article/details/132145067 nginx配置负载均衡–实战项目(适用于轮询、加权轮询、ip_hash) https://liucy.blog.csdn.net/article/details/133986013 nginx快速部署一个网站服务 + 多域名 + 多端口 https://liucy.blog.csdn.net/article/details/133986102
- 82 服务器(ip:82/82.txt)
- 81 服务器(ip:81/81.txt)
- 82 服务器(ip:82/82.jpg)
- 81 服务器(ip:81/81.jpg)
- test2 的 index.html
- 如果是其他类型的文件,nginx默认不解析,会直接下载
- 访问txt资源
- 访问jpg资源
- 访问html资源
- 配置好还是访问不到?
- 启动nginx
- 六、相关文章