博主閑來(lái)無(wú)事買了個(gè)服務(wù)器準(zhǔn)備搭建個(gè)人網(wǎng)站蹬敲,買著容易用著難赋荆∥绱牛靠著我在學(xué)校忘得差不多的linux功底和網(wǎng)上收羅來(lái)能用不能用的教程尝抖,折騰到最后也是弄好了。故寫(xiě)下本文以記錄我踩過(guò)的一些坑迅皇,防止日后遺忘昧辽。也給需要的朋友指?jìng)€(gè)路。
nginx安裝
首先替換yum源登颓,我用的centOS系統(tǒng)奴迅,自帶有國(guó)外yum源,這里需要先替換為國(guó)內(nèi)的挺据。具體可以參照這里:將Centos的yum源更換為國(guó)內(nèi)的阿里云源。
安裝完我天真的以為直接yum install nginx就可以脖隶,確實(shí)之前使用騰訊云這樣可以的扁耐,但是巨多坑啊。后來(lái)找了好久找到這個(gè)方法产阱,成功搞定:Linux(CentOS)下婉称,下載安裝Nginx并配置。
具體過(guò)程和上述博文差不多,但是這篇博客是16年寫(xiě)的王暗,現(xiàn)在新版都升到1.11.10了悔据,所以安裝nginx前大家可以先去http://nginx.org/download/ 看下最新版本,將命令中的版本號(hào)手動(dòng)改為最新版俗壹,其他照該博客一步步安裝設(shè)置系統(tǒng)服務(wù)即可科汗。
nginx基礎(chǔ)配置
安裝完下一步就是配置。我服務(wù)器放在digitalocean绷雏,所以最開(kāi)始是在這里找了官方教程How To Set Up nginx Virtual Hosts (Server Blocks) on CentOS 6 头滔。但是實(shí)際配置中卻有不少坑。
上面的安裝教程可以直接忽略涎显,親測(cè)失敗坤检,畢竟國(guó)外的東西,吃不消啊期吓。直接看下方的step早歇,前面簡(jiǎn)單明了,自己按需配置下路徑放個(gè)測(cè)試用的index.html就可以讨勤,不喜歡用vi的可以用xftp來(lái)操作文件箭跳。
到step four,問(wèn)題來(lái)了悬襟,sudo vi /etc/nginx/conf.d/virtual.conf
是把編輯器打開(kāi)了衅码,內(nèi)容我也照著寫(xiě)好了,但是不讓我保存這就很尷尬了脊岳。我退出來(lái)查了一下逝段,發(fā)現(xiàn)根本沒(méi)這個(gè)路徑啊T_T。我進(jìn)到nginx的安裝路徑里看了下nginx.conf(路徑:/usr/local/nginx/conf)割捅,發(fā)現(xiàn)根本沒(méi)有include奶躯,這就意味著即使你創(chuàng)建了virtual.conf,nginx也是找不到的亿驾。對(duì)比po主的virtual.conf和原裝nginx.conf嘹黔,發(fā)現(xiàn)這里已經(jīng)對(duì)80端口進(jìn)行監(jiān)聽(tīng)了,所以干脆直接在nginx.conf上改莫瞬。
首先把listen 80下面的server_name改成了我的域名儡蔓,然后把下面location里的root路徑改為../../../var/www/example.com/public_html/(原來(lái)這里是html目錄,可以在nginx里找到html目錄和conf目錄在同一級(jí)疼邀,這說(shuō)明root指向的目錄是nginx.conf的上一級(jí)目錄喂江,而這里找到var路徑需要退到根目錄去,所以加了三個(gè)../)旁振。保存获询,service nginx reload
重啟nginx服務(wù)涨岁,即可打開(kāi)瀏覽器輸入自己的域名看到效果了(當(dāng)然在此之前確保你的域名配置了域名解析)。
tip:linux下找某個(gè)文件可以問(wèn)where is:# whereis(空格)文件名或者路徑名
nginx多端口配置
有時(shí)候我們服務(wù)器上有一個(gè)域名吉嚣,但是我們有好幾個(gè)項(xiàng)目梢薪,想通過(guò)這一個(gè)域名訪問(wèn)到所有項(xiàng)目的index,這里就需要用到端口配置尝哆。依然是找到nginx.conf秉撇,在最下面添加一條 server,如下所示:
server {
listen 8000;
server_name example.com:8000;
location / {
root ../../../var/www/project/;
index index.html index.htm;
}
}
保存退出较解,重啟nginx服務(wù)即可畜疾。此時(shí)你訪問(wèn)example.com和example.com:8000會(huì)看到不同的頁(yè)面。
tip:多端口配置不需要做域名解析印衔。
nginx二級(jí)域名配置
一個(gè)域名多個(gè)端口啡捶,訪問(wèn)的時(shí)候必須敲入端口才能訪問(wèn)到正確的網(wǎng)頁(yè),這樣很不方便也不美觀奸焙。這時(shí)可以用到二級(jí)域名來(lái)處理瞎暑。
和之前配置類似,依然監(jiān)聽(tīng)80端口与帆,server_name為設(shè)置過(guò)解析的二級(jí)域名了赌,location按需修改。
server {
listen 80;
server_name project.example.com;
location / {
root ../../../var/www/project/;
index index.html index.htm;
}
}
保存退出玄糟,重啟nginx服務(wù)勿她!
tip:二級(jí)域名一定要設(shè)置解析。以project.example.com為例阵翎,在example.com的域名下添加一條A記錄逢并,主機(jī)記錄為project,記錄值為服務(wù)器ip郭卫,保存砍聊,等一下就看到結(jié)果了。