?????博主簡介
????云計(jì)算領(lǐng)域優(yōu)質(zhì)創(chuàng)作者
????華為云開發(fā)者社區(qū)專家博主
????阿里云開發(fā)者社區(qū)專家博主
??交流社區(qū):運(yùn)維交流社區(qū) 歡迎大家的加入!
?? 希望大家多多支持,我們一起進(jìn)步!??
??如果文章對你有幫助的話,歡迎 點(diǎn)贊 ???? 評論 ?? 收藏 ?? 加關(guān)注+??
一、nginx虛擬主機(jī),部署網(wǎng)站
都是在同一臺(tái)服務(wù)器上部署
二、部署單域名/IP網(wǎng)站服務(wù)
1、創(chuàng)建一個(gè)普通用戶,用戶管理nginx網(wǎng)站服務(wù)
# 創(chuàng)建一個(gè)名為www的用戶組
groupadd www -g 666
# 創(chuàng)建一個(gè)名為www的用戶并添加到www的用戶組中
useradd www -u 666 -g 666 -M -s /sbin/nologin
# 查看用戶id
id www
#結(jié)果
uid=666(www) gid=666(www) groups=666(www)
2、修改nginx主配置文件
[root@iz0jlfqv8fyt7iuxoec4clz ~]# cat /etc/nginx/nginx.conf
user www; # 設(shè)置運(yùn)行用戶,剛剛創(chuàng)建的用戶
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導(dǎo)入該目錄下的*.conf配置文件
}
3、創(chuàng)建虛擬主機(jī)nignx子配置文件
只需要寫server{}標(biāo)簽即可。
# 先看conf.d下還有沒有其他的*.conf結(jié)尾的,有的話先備份;
mv default.conf default.conf-bak
# 創(chuàng)建虛擬主機(jī)nignx子配置文件(qqfly配置文件)
vim /etc/nginx/conf.d/qqfly.conf
# 寫入如下信息,自己的根據(jù)情況自行修改(域名或ip;index.html的訪問路徑)
server {
listen 80;
# nginx會(huì)匹配 域名/IP:80
server_name 域名/IP/localhost;
# 支持中文的參數(shù)
charset utf-8;
location / {
# 根據(jù)root參數(shù),填寫網(wǎng)頁根目錄信息
# 表示當(dāng)你訪問 http://域名:80 ,自動(dòng)來這個(gè)目錄下找數(shù)據(jù)
root /www/qqfly/;
# 默認(rèn)找 /www/qqflq/ 的名字叫做index.html的文件
index index.html;
}
}
上面配置文件中配置了index.html的地址,這里可以看到是沒有的,我們創(chuàng)建一下;
# 創(chuàng)建一個(gè)存放網(wǎng)頁訪問地址的目錄
mkdir -p /www/qqfly/
# 創(chuàng)建網(wǎng)頁靜態(tài)文件,index.html qqfly.jpg qqfly.txt
# 部署一個(gè)靜態(tài)網(wǎng)站,最基本的提供,html,jpg,txt等靜態(tài)數(shù)據(jù);如果是其他類型的文件,nginx默認(rèn)不解析,直接下載
# nginx都可以幫你去返回,解析請求
cd /www/qqfly/
# 創(chuàng)建靜態(tài)頁面index.html
cat > /www/qqfly/index.html << EOF
> <meta charset=utf-8>
> <H1>這是一個(gè) qqfly 的測試頁面;用于證明nginx一個(gè)網(wǎng)站部署成功了;</H1>
> EOF
# 創(chuàng)建一個(gè)jpg文件
wget -O qqfly.jpg https://i1.hdslb.com/bfs/archive/5edd3d62a5ca140063ef8e32a852348a422b86b6.jpg
# 創(chuàng)建一個(gè)txt文件
echo "qq飛車游戲很好玩!測試!" > qqfly.txt
# 修改靜態(tài)文件的屬主,屬組
chown -R www:www /www/
4、測試nginx配置文件語法,然后啟動(dòng)
# 檢測nginx配置中語法是否有誤
nginx -t
ok則為正常,沒有錯(cuò)誤;
- 啟動(dòng)nginx
# 查看nginx狀態(tài)
systemctl status nginx
# 重啟nginx
systemctl restart nginx
5、域名訪問地址
如果是使用的域名,那么需要在本地配置dns域名解析
分別添加二級(jí)域名,三級(jí)域名,hosts解析ip 三級(jí)域名 二級(jí)域名
- 配置好還是訪問不到?
1、可以先看看可以ping通域名嗎。
2、檢查你本地是否設(shè)置了代理,如果有則關(guān)閉。
6、IP訪問地址
這里我使用的是ip地址訪問,因?yàn)槲业挠蛎枰獋浒?,申請還沒下來,所以先用ip測試吧;
- 訪問html資源
- 訪問jpg資源
- 訪問txt資源
- 如果是其他類型的文件,nginx默認(rèn)不解析,會(huì)直接下載
直接生成靜態(tài)數(shù)據(jù),不用重啟nginx,這就是磁盤上的一些靜態(tài)數(shù)據(jù)
nginx的server{}虛擬主機(jī),以及設(shè)置了,去這個(gè)目錄下搜索資料
nginx默認(rèn)不識(shí)別這個(gè)test.ttt格式的文件,因此直接下載了
例如:
cat > /www/qqfly/qqfly.ttt << EOF
qq飛車游戲很好玩!測試!
EOF
因?yàn)槭庆o態(tài)頁面,上面也說了,修改不用重啟;(但是修改配置文件的話就需要重啟nignx才能生效;)
頁面直接訪問,會(huì)讓你下載;
下載完打開,里面的內(nèi)容就是剛剛寫進(jìn)去的內(nèi)容;
三、nginx的配置文件匹配
還記得上面讓備份的一個(gè)nginx配置文件嗎,/etc/nginx/conf.d/default.conf
,這個(gè)里面的server_name 寫的是localhost,而咱們用的是ip訪問網(wǎng)站,所以默認(rèn)會(huì)先去找default.conf
;所以在上面給他備份了一下,然后才會(huì)去找另一個(gè)conf文件。
nginx配置會(huì)有一個(gè)先后順序,默認(rèn)按照文件名的字典順序讀取 /etc/nginx/conf.d
目錄下的配置文件。如果需要特定的加載順序,可以使用 include
指令來指定讀取文件的順序。
#先看當(dāng)前有幾個(gè)nginx配置文件
[root@iz0jlfqv8fyt7iuxoec4clz conf.d]# ls
default.conf-bak qqfly.conf
#先看第一個(gè)default.conf
[root@iz0jlfqv8fyt7iuxoec4clz conf.d]# grep -Ev '#|^$' default.conf-bak
server {
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;
}
}
#再看第二個(gè)配置文件
[root@iz0jlfqv8fyt7iuxoec4clz conf.d]# cat qqfly.conf
server {
listen 80;
# nginx會(huì)匹配 域名/IP:80
server_name 域名;
# 支持中文的參數(shù)
charset utf-8;
location / {
# 根據(jù)root參數(shù),填寫網(wǎng)頁根目錄信息
# 表示當(dāng)你訪問 http://域名:80 ,自動(dòng)來這個(gè)目錄下找數(shù)據(jù)
root /www/qqfly/;
# 默認(rèn)找 /www/qqflq/ 的名字叫做index.html的文件
index index.html;
}
}
可以看到一個(gè)寫的域名,一個(gè)寫的localhost;因?yàn)槲覀冞@邊的域名用不了,所以,要是不備份那個(gè)default.conf
默認(rèn)的讀取的就是default.conf
這個(gè)配置文件;
如果域名是沒問題的,那么直接用域名訪問,就會(huì)直接去找qqfly.conf
這個(gè)配置文件,就不會(huì)存在先后順序什么的。
四、部署多域名網(wǎng)站服務(wù)
1、首先準(zhǔn)備兩個(gè)域名、index路徑、nginx配置文件
域名 | nginx的index路徑 | nginx的配置文件名 |
---|---|---|
域名1 (test1.top) | /www/test1/index.html | /etc/nginx/conf.d/test1.conf |
域名2 (test2.top) | /www/test1/index.html | /etc/nginx/conf.d/test2.conf |
配置域名的話自己配置就可以;
2、創(chuàng)建兩個(gè)域名的nginx配置文件
- test1域名
vim /etc/nginx/conf.d/test1.conf
#內(nèi)容如下
server {
listen 80;
#域名1
server_name test1.top;
# 支持中文的參數(shù)
charset utf-8;
location / {
root /www/test1/;
index index.html;
}
}
- test2域名
vim /etc/nginx/conf.d/test2.conf
#內(nèi)容如下
server {
listen 80;
#域名1
server_name test2.top;
# 支持中文的參數(shù)
charset utf-8;
location / {
root /www/test2/;
index index.html;
}
}
3、創(chuàng)建兩個(gè)域名的index.html訪問頁面
- test1 的 index.html
# 創(chuàng)建test1和test2目錄
mkdir -p /www/{test1,test2}
# 創(chuàng)建完之后,寫入數(shù)據(jù)到test1/index.html中
cat > /www/test1/index.html << EOF
> <meta charset=utf-8>
> <H2> test1 頁面測試 </H2>
> EOF
- test2 的 index.html
# 給test2域名寫入index.html頁面數(shù)據(jù)
cat > /www/test2/index.html << EOF
<meta charset=utf-8>
<H2> test2 頁面測試 </H2>
EOF
4、檢查nignx配置是否有誤 并 重啟nginx服務(wù)
# 檢查nignx配置是否有誤
nginx -t
# 重啟nginx服務(wù)
systemctl restart nginx
5、頁面訪問兩個(gè)域名
test1.top
teset2.top
可以看到分別兩個(gè)頁面,這樣多域名網(wǎng)站服務(wù)部署成功。
五、部署多端口網(wǎng)站服務(wù)
1、首先準(zhǔn)備兩個(gè)端口、index路徑、nginx配置文件(一個(gè)即可)
端口 | nginx的index路徑 | nginx的配置文件名(使用同一個(gè)配置) |
---|---|---|
81 | /www/81/index.html | /etc/nginx/conf.d/port.conf |
82 | /www/82/index.html | /etc/nginx/conf.d/port.conf |
2、創(chuàng)建兩個(gè)port的nginx配置文件(一個(gè)配置中)
vim /etc/nginx/conf.d/port.conf
# 81 端口配置
server {
listen 81;
server_name localhost;
# 支持中文的參數(shù)
charset utf-8;
location / {
root /www/81/;
index index.html;
}
}
# 82 端口配置
server {
listen 82;
server_name localhost;
# 支持中文的參數(shù)
charset utf-8;
location / {
root /www/82/;
index index.html;
}
}
3、創(chuàng)建兩個(gè)端口的index.html頁面
# 創(chuàng)建目錄
mkdir -p /www/{81,82}
# 創(chuàng)建81和82的index頁面測試數(shù)據(jù)
cat > /www/81/index.html << EOF
<meta charset=utf-8>
<H1>我是81,歡迎來到我的頁面</H1>
EOF
cat > /www/82/index.html << EOF
<meta charset=utf-8>
<H1>我是82,歡迎來到我的頁面</H1>
EOF
4、檢查nignx配置是否有誤 并 重啟nginx服務(wù)
# 檢查nignx配置是否有誤
nginx -t
# 重啟nginx服務(wù)
systemctl restart nginx
5、頁面訪問兩個(gè)端口
ip:端口
- ip:81
- ip:82
5.1 頁面訪問兩個(gè)端口 --> 各添加一個(gè)jpg頁面
到網(wǎng)上隨便照兩張圖,分別放到/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 服務(wù)器(ip:81/81.jpg)
- 82 服務(wù)器(ip:82/82.jpg)
5.2 頁面訪問兩個(gè)端口 --> 各添加一個(gè)txt資源
echo "我又來測試了,這里是 81 的一個(gè)測試頁面" > /www/81/81.txt
echo "我也又來測試了,這是是 82 的一個(gè)測試頁面" > /www/82/82.txt
這里添加完成之后,同樣也不需要重啟nginx,直接在頁面訪問 ip:端口/txt名
- 81 服務(wù)器(ip:81/81.txt)
文章來源:http://www.zghlxwxcb.cn/news/detail-714190.html
- 82 服務(wù)器(ip:82/82.txt)
文章來源地址http://www.zghlxwxcb.cn/news/detail-714190.html
到這里就完成了nginx部署一個(gè)網(wǎng)站及多個(gè)域名的網(wǎng)站和多個(gè)端口的網(wǎng)站
六、相關(guān)文章
文章標(biāo)題 | 文章連接 |
---|---|
【Linux】nginx基礎(chǔ)篇 – 介紹及yum安裝nginx | https://liucy.blog.csdn.net/article/details/133928000 |
【Linux】環(huán)境下部署Nginx服務(wù) - 二進(jìn)制部署方式 | https://liucy.blog.csdn.net/article/details/132145067 |
nginx配置負(fù)載均衡–實(shí)戰(zhàn)項(xiàng)目(適用于輪詢、加權(quán)輪詢、ip_hash) | https://liucy.blog.csdn.net/article/details/133986013 |
nginx快速部署一個(gè)網(wǎng)站服務(wù) + 多域名 + 多端口 | https://liucy.blog.csdn.net/article/details/133986102 |
到了這里,關(guān)于nginx快速部署一個(gè)網(wǎng)站服務(wù) + 多域名 + 多端口的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!