博主閑來無事買了個服務(wù)器準備搭建個人網(wǎng)站,買著容易用著難??恐以趯W(xué)校忘得差不多的linux功底和網(wǎng)上收羅來能用不能用的教程,折騰到最后也是弄好了。故寫下本文以記錄我踩過的一些坑,防止日后遺忘。也給需要的朋友指個路。
nginx安裝
首先替換yum源,我用的centOS系統(tǒng),自帶有國外yum源,這里需要先替換為國內(nèi)的。具體可以參照這里:將Centos的yum源更換為國內(nèi)的阿里云源。
安裝完我天真的以為直接yum install nginx就可以,確實之前使用騰訊云這樣可以的,但是巨多坑啊。后來找了好久找到這個方法,成功搞定:Linux(CentOS)下,下載安裝Nginx并配置。
具體過程和上述博文差不多,但是這篇博客是16年寫的,現(xiàn)在新版都升到1.11.10了,所以安裝nginx前大家可以先去http://nginx.org/download/ 看下最新版本,將命令中的版本號手動改為最新版,其他照該博客一步步安裝設(shè)置系統(tǒng)服務(wù)即可。
nginx基礎(chǔ)配置
安裝完下一步就是配置。我服務(wù)器放在digitalocean,所以最開始是在這里找了官方教程How To Set Up nginx Virtual Hosts (Server Blocks) on CentOS 6 。但是實際配置中卻有不少坑。
上面的安裝教程可以直接忽略,親測失敗,畢竟國外的東西,吃不消啊。直接看下方的step,前面簡單明了,自己按需配置下路徑放個測試用的index.html就可以,不喜歡用vi的可以用xftp來操作文件。
到step four,問題來了,sudo vi /etc/nginx/conf.d/virtual.conf 是把編輯器打開了,內(nèi)容我也照著寫好了,但是不讓我保存這就很尷尬了。我退出來查了一下,發(fā)現(xiàn)根本沒這個路徑啊T_T。我進到nginx的安裝路徑里看了下nginx.conf(路徑:/usr/local/nginx/conf),發(fā)現(xiàn)根本沒有include,這就意味著即使你創(chuàng)建了virtual.conf,nginx也是找不到的。對比po主的virtual.conf和原裝nginx.conf,發(fā)現(xiàn)這里已經(jīng)對80端口進行監(jiān)聽了,所以干脆直接在nginx.conf上改。
首先把listen 80下面的server_name改成了我的域名,然后把下面location里的root路徑改為../../../var/www/example.com/public_html/(原來這里是html目錄,可以在nginx里找到html目錄和conf目錄在同一級,這說明root指向的目錄是nginx.conf的上一級目錄,而這里找到var路徑需要退到根目錄去,所以加了三個../)。保存,service nginx reload 重啟nginx服務(wù),即可打開瀏覽器輸入自己的域名看到效果了(當然在此之前確保你的域名配置了域名解析)。
tip:linux下找某個文件可以問where is:# whereis(空格)文件名或者路徑名
nginx多端口配置
有時候我們服務(wù)器上有一個域名,但是我們有好幾個項目,想通過這一個域名訪問到所有項目的index,這里就需要用到端口配置。依然是找到nginx.conf,在最下面添加一條 server,如下所示:
server {
listen 8000;
server_name example.com:8000;
location / {
root ../../../var/www/project/;
index index.html index.htm;
}
}
保存退出,重啟nginx服務(wù)即可。此時你訪問example.com和example.com:8000會看到不同的頁面。
tip:多端口配置不需要做域名解析。
nginx二級域名配置
一個域名多個端口,訪問的時候必須敲入端口才能訪問到正確的網(wǎng)頁,這樣很不方便也不美觀。這時可以用到二級域名來處理。
和之前配置類似,依然監(jiān)聽80端口,server_name為設(shè)置過解析的二級域名,location按需修改。
server {
listen 80;
server_name project.example.com;
location / {
root ../../../var/www/project/;
index index.html index.htm;
}
}
保存退出,重啟nginx服務(wù)!
tip:二級域名一定要設(shè)置解析。以project.example.com為例,在example.com的域名下添加一條A記錄,主機記錄為project,記錄值為服務(wù)器ip,保存,等一下就看到結(jié)果了。