# 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动静分离
- 镜像组成
- 链接
- 配套视频教程
- 后记