# LNMP環境中部署一個網站或應用
LNMP新增網站非常容易,在新增網站之前需要知道以下六點:
* 配置文件:*/etc/nginx/conf.d/default.conf*
* 網站目錄:*/data/wwwroot/*
* 管理工具:部署網站請使用 WinSCP,它包含文件管理、運行命令兩方面功能
* 域名使用:若需要使用域名,請確保備案后的域名成功解析到服務器IP
* 數據庫:若安裝過程中數據庫無法自動創建,請使用phpMyAdmin創建數據庫
* 映射關系:每個網站必定在 vhost.conf 中對應唯一的虛擬主機配置段
部署一個網站還是多個網站、有無域名對應的細節略有不同,下面分別說明:
## 場景一:服務器只安裝一個網站
由于 LNMP 環境默認已經有一個示例網站(雖然其中只有一個沒有用的文件),但對你來說,部署第一個網站最佳的方式就是將示例網站修改成您的網站,只需兩步:
1. 通過 SFTP 工具,將網站源文件上傳到此目錄 /data/wwwroot/www.example.com
3. 如果沒有可用域名,請直接通過 http://公網ip 的方式來訪問應用
4. 如果有可用的域名,請完成 **《域名配置》** 后通過 http://域名 的方式來訪問應用
## 場景二:服務器部署多個網站
部署第二個網站,需要在 *default.conf* 中增加對應的虛擬主機配置段,具體如下
1. 在wwwroot下新建一個網站目錄,假設命令為“mysite2”
2. 將網站源文件上傳到:*/data/wwwroot/mysite2*
3. 根據是否有域名,選擇一種操作:
* 有可用域名,請將下面 VirtualHost 模板拷貝到 default.conf 中,并修改其中 server_name , root , error_log , access_log 的“**example 、mysite2**”等相關內容更換成你的實際域名、文件夾名稱。
```
server
{
listen 80;
server_name www.example.com example.com;
index index.html index.htm index.php;
root /data/wwwroot/www.example.com;
error_log /var/log/nginx/example.com-error.log crit;
access_log /var/log/nginx/example.com-access.log;
include conf.d/extra/*.conf;
# include Rewrite
# include conf.d/rewrite/wordpress.conf;
}
```
* 無可用域名,請將下面Alias模板拷貝到default.conf中,并修改其中的路徑信息
```
location /mysite2
{
alias /data/wwwroot/mysite2;
index index.php index.html;
location ~ ^/9panel/.+\.php$ {
alias /data/wwwroot/mysite2;
fastcgi_pass unix:/dev/shm/php-fpm-default.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/wwwroot/$fastcgi_script_name;
include fastcgi_params;
}
include conf.d/extra/*.conf;
}
```
4. 保存 default.conf , 然后重啟 nginx 和 php-fpm 服務
```
systemctl restart nginx
systemctl restart php-fpm
```
5. 通過 http://ip/mysite1 的方式來訪問應用,即可進入安裝向導
6. 如果在安裝向導過程中提示數據庫無法自動創建,需要通過http://ip/phpmyadmin 創建數據庫
> 最后,總結 LAMP 部署網站步驟: 1.上傳網站代碼->2.綁定域名(非必要)3.新增站點配置或修改示例站點配置->4.增加網站對應的數據庫(非必要)->5.進入安裝向導
## 附:配置文件項說明
| 項 | 說明 |
| --- | --- |
| server_name | 域名 |
| root | 真實的網站存放目錄,務必準確無誤 |
| error_log | 錯誤日志路徑 |
| access_log | 訪問日志路徑 |
- 關于本書
- 關于LNMP
- 獲取一鍵安裝包
- 表:鏡像組成一覽
- 附:常用賬號與密碼說明
- 基本技能單元
- Linux云服務器操作
- 登錄與文件管理(SFTP)
- 掛載數據盤
- 安全組設置
- 快照備份
- Linux操作系統基礎
- Nginx基礎
- PHP基礎
- MySQL操作
- 9Panel介紹
- 必備實操
- 如何修改Linux文件權限?
- 如何實現服務啟停?
- 如何安裝PHP擴展?
- 附:常見命令(Linux)
- 如何使用LNMP發布網站或應用?
- 如何設置SSL/HTTPS?
- 如何設置偽靜態?
- 如何實現網站遷移?
- 如何將數據轉移到數據盤?
- 如何設置SMTP?
- 如何分配多個SFTP賬號?
- 如何重置數據庫root密碼?
- 域名配置
- 域名解析
- 域名綁定
- 安全防護
- 補丁更新
- 木馬查殺
- 安全組件
- 日常維護
- 備份與恢復
- 升級
- 網站加速
- 故障處理
- 502錯誤
- 網站打不開
- 網站訪問慢或不穩定
- 服務無法啟動
- phpMyadmin報錯
- 資源占用高
- 常見應用安裝示例(集)
- Concrete5
- Concrete5自定義安裝
- Concrete5常見問題
- CmsEasy
- CmsEasy自定義安裝
- CmsEasy常見問題
- DokuWiki
- DokuWiki自定義安裝
- dedeCMS(織夢)
- dedeCMS自定義安裝
- HDwiki
- HDwiki自定義安裝
- HDwiki常見問題
- EmpireCMS(帝國)
- EmpireCMS自定義安裝
- EmpireCMS常見問題
- Lcm(里程密)
- Lcm(里程密)自定義安裝
- MyBB
- MyBB自定義安裝
- Osclass
- Osclass自定義安裝
- ProcessWire
- ProcessWire自定義安裝
- PmWiki
- PmWiki自定義安裝
- PHPWind
- PHPWind自定義安裝
- Typecho
- Typecho自定義安裝
- Typecho常見問題
- WeCenter
- WeCenter自定義安裝
- Weengine(微擎)
- Weengine自定義安裝
- Wordpress
- Wordpress自定義安裝
- ZBlog
- ZBlog自定義安裝
- 高級:PHP&JAVA雙能環境
- 鏡像組成
- 如何部署PHP網站?
- 如何部署Java網站?
- 如何設置SSL/HTTPS?
- 高級:Nginx&Apache動靜分離
- 鏡像組成
- 鏈接
- 配套視頻教程
- 后記