日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Linux下新建一个站点

發(fā)布時間:2024/8/26 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 Linux下新建一个站点 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Apache+nagix使用Lnmpa創(chuàng)建一個新的站點

我們在部署服務(wù)器的時候通常會遇到需要分域名和分應(yīng)用部署,那么如何通過Apache+nagix創(chuàng)建一個新的站點服務(wù)呢

LNMPA這種架構(gòu)有什么優(yōu)勢?

LNMPA使用Nginx作為前端服務(wù)能夠更快更及時的靜態(tài)頁面、js、圖片等,當(dāng)客戶端請求訪問動態(tài)頁面時由Nginx的反向代理給Apache處理,Apache處理完再交予Nginx返回給客戶端。

采用LNMPA能夠更好的解決LNMP架構(gòu)中由于PHP-FPM方面產(chǎn)生的502錯誤,同時能夠為提供更安全的多用戶多站點環(huán)境。

準(zhǔn)備工作和環(huán)境

1.liunx ubuntu 16.4

2.Xshell8

3.lanmpa安裝環(huán)境

#開始實施#

1.用Xshell執(zhí)行:lnmp vhost add出現(xiàn)如下界面:

這里要輸入要添加網(wǎng)站的域名,我們已添加www.vpser.net域名為例,如上圖提示后輸入域名 www.vpser.net 回車后提示

這里詢問是否添加更多域名,直接再輸入要綁定的域名,這里我們將 vpser.net 也綁上,多個域名空格隔開,如不需要綁其他域名就直接回車。

(注:帶www和不帶www的是不同的域名,如需帶www和不帶的www的域名都訪問同一個網(wǎng)站需要同時都綁定)。

下面需要設(shè)置網(wǎng)站的目錄


網(wǎng)站目錄不存在的話會創(chuàng)建目錄。也可以輸入已經(jīng)存在的目錄或要設(shè)置的目錄(注意如要輸入必須是全路徑即以/開頭的完整路徑!!!)。不輸入直接回車的話,采用默認(rèn)目錄:/home/wwwroot/域名



偽靜態(tài)可以使URL更加簡潔也利于SEO,如程序支持并且需要設(shè)置偽靜態(tài)的話,如啟用輸入 y ,不啟用輸入 n 回車(注意LNMPA或LAMP模式?jīng)]有該選擇項!)。


默認(rèn)已經(jīng)有了discuz、discuzx、discuzx2(Discuz X二級目錄)、wordpress、wp2(WordPress二級目錄)、typecho、typecho2(Typecho二級目錄)、sablog、emlog、dabr、phpwind、、dedecms、drupal、ecshop、shopex等常用的Nginx偽靜態(tài)配置文件,可以直接輸入名稱進(jìn)行使用,如果是二級目錄則需要對應(yīng)配置文件里的二級目錄的名稱。


這一步是設(shè)置日志,如啟用日志輸入 y ,不啟用輸入 n 回車。


如果啟用需要再輸入要設(shè)置的日志的名稱,默認(rèn)日志目錄為:/home/wwwlogs/ 默認(rèn)文件名為:域名.log 回車確認(rèn)后,會詢問是否添加數(shù)據(jù)庫和數(shù)據(jù)庫用戶。


如果需要添加數(shù)據(jù)庫輸入 y ,不添加數(shù)據(jù)庫輸入 n 回車。


如果要添加,需要先驗證MySQL的root密碼(注:輸入密碼將不顯示)

提示Enter database name: 后輸入要創(chuàng)建的數(shù)據(jù)庫名稱,要創(chuàng)建的數(shù)據(jù)庫用戶名會和數(shù)據(jù)庫同名,回車確認(rèn)。


提示Please enter password for mysql user 數(shù)據(jù)庫名: 后輸入要設(shè)置的密碼,回車確認(rèn)。

如果安裝了FTP服務(wù)器會詢問是否添加FTP賬號


如果需要添加輸入 y ,不添加輸入 n 回車。


提示Enter ftp account name: 后輸入要創(chuàng)建的FTP賬號名稱,回車確認(rèn)。

提示Enter password for ftp account FTP賬號: 后輸入要設(shè)置的密碼,回車確認(rèn)。


接下來是1.4新增的添加SSL功能


如果需要添加輸入 y ,不添加輸入 n 回車。

選擇了添加SSL會提示


有兩個選項,1 選項為使用自己準(zhǔn)備好的SSL證書和key。


> > 提示Please enter full path to SSL Certificate file 后輸入要SSL證書的完整路徑和文件名,回車確認(rèn)。

> > 提示Please enter full path to SSL Certificate Key file: 后輸入輸入要key文件的完整路徑和文件名,回車確認(rèn)。


2 選項為使用免費SSL證書提供商Letsencrypt的證書,自動生成SSL證書等信息。


需要輸入一個郵箱回車確認(rèn)。


提示 Press any key to start create virtul host... 后,回車確認(rèn)便會開始創(chuàng)建虛擬主機(jī)。


添加成功會提示添加的域名、目錄、偽靜態(tài)、日志、數(shù)據(jù)庫、FTP等相關(guān)信息,如下圖:

##偽靜態(tài)管理##

LNMPA或LAMP可以直接使用網(wǎng)站根目錄下放.htaccess 來設(shè)置偽靜態(tài)規(guī)則(具體規(guī)則可以去程序官網(wǎng)網(wǎng)站找google百度),但是在LNMP下,需要使用Nginx偽靜態(tài)規(guī)則。

偽靜態(tài)可以隨時添加或刪除,如果添加完虛擬主機(jī)后忘記或沒有添加偽靜態(tài),可以通過修改配置文件來添加偽靜態(tài)。

虛擬主機(jī)配置文件在:/usr/local/nginx/conf/vhost/域名.conf


偽靜態(tài)規(guī)則文件需要放在/usr/local/nginx/conf/ 下面。

編輯虛擬主機(jī)配置文件,可以使用vi、nano或winscp,后2個工具對新手來說簡單些。


例如前面我們添加的虛擬主機(jī),打開后前半部分配置會顯示如下:


在root /home/wwwroot/www.vpser.net;這一行下面添加:

include wordpress.conf;

上面的wordpress.conf為偽靜態(tài)文件,如需要其他偽靜態(tài)文件自己創(chuàng)建個并上傳到/usr/local/nginx/conf/ 下面并include 偽靜態(tài).conf; 加完保存,執(zhí)行:/etc/init.d/nginx restart重啟生效,如果報錯可能是添加有誤或偽靜態(tài)規(guī)則有誤。


1.4及之前版本偽靜態(tài)文件都在 /usr/local/nginx/conf/ 目錄下

1.5及之后版本偽靜態(tài)文件都在 /usr/local/nginx/conf/rewrite 目錄下

偽靜態(tài)文件名稱后面帶2的是二級目錄的偽靜態(tài),可以根據(jù)自己需求修改里面二級目錄的名稱或復(fù)制為其他名字后include到虛擬主機(jī)配置文件中。

##上傳網(wǎng)站程序##

如果已經(jīng)安裝FTP服務(wù)器可以直接使用ftp客戶端通過你的FTP信息登錄后上傳網(wǎng)站或sftp等軟件上傳網(wǎng)站,設(shè)置好相關(guān)權(quán)限開始安裝即可。

上傳網(wǎng)站后建議執(zhí)行:chown www:www -R /path/to/dir 對網(wǎng)站目錄進(jìn)行權(quán)限設(shè)置,/path/to/dir替換為你網(wǎng)站目錄。

為了安全可以將一些不需要PHP運(yùn)行的上傳文件之類的目錄去掉執(zhí)行權(quán)限,參考:http://www.vpser.net/security/lnmp-remove-nginx-php-execute.html

##已存在虛擬主機(jī)添加ssl證書開啟https##

對于已存在的虛擬主機(jī)添加https站點,可以執(zhí)行:lnmp ssl add命令添加ssl證書,目前有兩種方式一種是使用自備的ssl證書,二是采用Let'sEncrypt的免費證書。添加過程和前面的添加虛擬主機(jī)的過程是一樣的,只是會多一項填寫ssl證書和key的步驟或直接選擇Let'sEncrypt自動生成證書。

如果是1.*版本升級到1.4或更改版本的需要參考:https://lnmp.org/faq/upgrade1-4.html中的說明,如果有提示不安全或不顯示小綠鎖上面鏈接中也有說明。

##列出網(wǎng)站(虛擬主機(jī))##

執(zhí)行:lnmp vhost list

##刪除網(wǎng)站(虛擬主機(jī))##

執(zhí)行:lnmp vhost del


刪除網(wǎng)站會先列出當(dāng)前已有虛擬主機(jī),按提示輸入要刪除的虛擬主機(jī)域名 回車確認(rèn)。


這里只是刪除虛擬主機(jī)配置文件,網(wǎng)站文件并不會刪除需要自己刪除。

LNMP 1.2下需要執(zhí)行:chattr -i /網(wǎng)站目錄/.user.ini 后才能刪除網(wǎng)站目錄。


當(dāng)執(zhí)行chown或chmod對網(wǎng)站目錄屬主屬組或權(quán)限進(jìn)行操作時可能會提示chown: changing ownership of `/home/wwwroot/default/.user.ini': Operation not permitted,不需要理會,如果有強(qiáng)迫癥可以參考前面先進(jìn)行chattr -i的操作。

##默認(rèn)網(wǎng)站(虛擬主機(jī))##

LNMP默認(rèn)網(wǎng)站配置文件:/usr/local/nginx/conf/nginx.conf

LNMPA默認(rèn)網(wǎng)站配置文件:/usr/local/nginx/conf/nginx.conf 和 /usr/local/apache/conf/extra/httpd-vhosts.conf

LAMP默認(rèn)網(wǎng)站配置文件:/usr/local/apache/conf/extra/httpd-vhosts.conf

##防跨目錄設(shè)置##

LNMP 1.1及之前的版本使用php.ini里面,open_basedir設(shè)置


LNMP 1.2及更高版本防跨目錄功能使用.user.ini,該文件在網(wǎng)站根目錄下,可以修改.user.ini 里面的open_basedir的值來設(shè)置限制訪問的目錄或刪除來移除防跨目錄的設(shè)置。


.user.ini文件無法直接修改,如要修或刪除需要先執(zhí)行:chattr -i /網(wǎng)站目錄/.user.ini

可以使用winscp文件管理、vim編輯器或nano編輯器進(jìn)行修改。

刪除的話rm -f /網(wǎng)站目錄/.user.ini 就可以。

修改完成后再執(zhí)行:chattr +i /網(wǎng)站目錄/.user.ini

.user.ini不需要重啟一般5分鐘左右生效,也可以重啟一下php-fpm立即生效。
如果要更改網(wǎng)站目錄必須要按上述方法修改防跨目錄的設(shè)置,否則肯定報錯!!


LNMP 1.4上如果不想用防跨目錄或者修改.user.ini的防跨目錄的目錄還需要將 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在該行行前添加 # 或刪除改行,需要重啟nginx。


LNMP 1.4上也可以直接使用lnmp1.4/tools/ 目錄下的 ./remove_open_basedir_restriction.sh 進(jìn)行移除。
在Thinkphp、codeigniter、Laravel等框架下,網(wǎng)站目錄一般是在public下,但是public下的程序要跨目錄調(diào)用public上級目錄下的文件,因為LNMP默認(rèn)是不允許跨目錄訪問的,所以都是必須要將防跨目錄訪問的設(shè)置去掉,有時候這些框架類的程序提示500錯誤也可能是這個問題引起的。


LNMPA或LAMP 模式1.2版本以上的防跨目錄的設(shè)置使用的對應(yīng)apache虛擬主機(jī)配置文件(lnmp管理工具添加的話文件是 /usr/local/apache/conf/vhost/域名.conf )里的php_admin_value open_basedir參數(shù)進(jìn)行設(shè)置。如果不需要設(shè)置可以在前面加 # 進(jìn)行注釋,或自行修改目錄的限制。

重啟apache生效。

##pathinfo設(shè)置##

LNMP上各個版本pathinfo各個版本的設(shè)置基本一樣:


lnmp v1.1上,修改對應(yīng)虛擬主機(jī)的配置文件(/usr/local/nginx/conf/vhost/域名.conf)

去掉#include pathinfo.conf前面的#,把try_files $uri =404; 前面加上# 注釋掉。


1.2,1.3,1.4,1.5及以上版本,修改對應(yīng)虛擬主機(jī)的配置文件(/usr/local/nginx/conf/vhost/域名.conf)

將include enable-php.conf;替換為include enable-php-pathinfo.conf;


1.4版本多PHP版本啟用pathinfo的話,進(jìn)入/usr/local/nginx/conf目錄,拷貝一份enable-php-pathinfo.conf 命名為 enable-php7.2-pathinfo.conf,將 enable-php7.2.conf 文件里 fastcgi_pass這一行內(nèi)容完整的復(fù)制下來替換 enable-php7.2-pathinfo.conf 文件中的 fastcgi_pass這一行 ,保存,再按前面的方法修改虛擬主機(jī) include enable-php7.2-pathinfo.conf; 就行了,其他版本以此類推。


1.5版本多PHP版本開啟pathinfo的話,可以在lnmp vhost add 是選擇啟用pathinfo,如果存在多PHP版本就會提示你選擇,也可以直接修改虛擬主機(jī)配置文件將include enable-php.conf; 替換為 include enable-php7.2-pathinfo.conf; 保存


修改pathinfo需要重啟nginx生效。

##數(shù)據(jù)庫管理##

1.3以上版本,可以在添加虛擬主機(jī)時選擇創(chuàng)建數(shù)據(jù)庫,也可以單獨使用 lnmp database add 按提示添加數(shù)據(jù)庫,添加的用戶名和數(shù)據(jù)庫名是同名的。

添加數(shù)據(jù)庫命令:lnmp database add

編輯數(shù)據(jù)庫用戶密碼命令:lnmp database edit

刪除數(shù)據(jù)庫命令:lnmp database del

列出所有數(shù)據(jù)庫命令:lnmp database list

標(biāo)簽:虛擬主機(jī),偽靜態(tài),添加虛擬主機(jī),刪除虛擬主機(jī),LNMP偽靜態(tài),pathinfo,lnmp pathinfo,防跨目錄

終于完成嘍 over!over!over!

let the world have no hard-to-write code ^-^

總結(jié)

以上是生活随笔為你收集整理的Linux下新建一个站点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。