最后更新时间: 2024年4月30日
在使用LNMP(Linux, Nginx, MySQL, PHP)环境时,添加一个新的虚拟主机,即添加一个域名使你的网站能够访问通常需要进行一些配置,主要通过 lnmp 命令行功能配置域名,域名证书(https),伪静态,网站访问日志,数据库等。通过这些配置过后,你的域名就可以正常访问了。
LNMP添加虚拟主机
使用 lnmp 添加网站比较容易,因为 lnmp 已经给我们封装了配置生效一个网站的命令,执行 lnmp vhost add
只需要根据命令行进行选择就可以了。
前提是域名解析已经生效
下边的图示演示了整个流程
1. 域名注册后需要解析见 域名解析 链接,比如你想使用域名 www.yourdomain.com 作为你的网站域名(www.yourdomain.com【二级】 和 yourdomain.com【一级】是两个不同的域名),那就解析 www 的二级域名即可,要确保解析生效后再执行添加虚拟主机操作。
2. 输入www.yourdomain.com 回车后,提示输入更多域名,这里我们只解析一个域名,直接回车即可
3. 网站目录默认,直接回车
4. 伪静态开启,输入 y 回车
5. 已经预设了常见网站程序的伪静态文件,比如 wordpress,直接输入 wordpress 回车
6. 不开启 pathinfo ,即输入 n 回车
7. 开启网站访问日志(网站出问题可供调试用)
8. 日志存放目录默认回车
9. 是否创建数据库及同名的数据库用户,这里如果使用 wordpress 建站是需要数据库的,比如输入 waimaoxpt, 则会同步创建 waimaoxpt 的数据库用户,这个用户的权限只限于管理 waimaoxpt 这个数据库,但也可以后期进入数据库管理后台再创建(推荐)
10. 开启add ssl certificate : 这个输入 y 后通常需要输入一个邮箱,这一步即开启使用 https 访问网站,使用免费的证书真香,由于免费证书一般都是3个月的有效期,过了有效期后要重新续订,不过不用担心 lnmp 已经为我们添加了定时任务,会自动帮我们进行续期管理
11. 这些都选择好后按任意键 lnmp 就会为完成我们选择的配置,并分条列出来。
这样我们的域名就可以使用了,找到网站文件目录即第3点默认的目录文件,比如 /home/wwwroot/www.yourdomain.com, 进入到这个目录,这个目录就是你网站的根目录,以后网站的所有文件都放到这个目录中,可以简单测试下自己的域名能不能访问,可以在本地新建一个 index.php, 然后用编辑器,推荐使用 sublime 编辑,输入以下代码(sublime 免费,跨平台,功能强大)
<?php echo phpinfo(); ?>
然后上传到/home/wwwroot/www.yourdomain.com,打开你的域名,即 https://www.yourdomain.com 如果显示出类似这些信息,即表明你的域名已经可以正常访问了
LNMP添加数据库操作
添加数据库命令: lnmp database add
编辑数据库用户密码命令: lnmp database edit
删除数据库命令: lnmp database del
列出所有数据库命令: lnmp database list
注: 这些命令只是对 mysql 命令行的封装,建议直接使用 mysql 命令行操作,更加灵活,比如可以自定义用户名而不必和数据库名一致。下一节,我们给 wordpress 网站添加虚拟主机时会演示如何使用 mysql 命令行,几行命令搞定数据库相关操作。
LNMP虚拟主机相关命令操作
列出当前服务器上的虚拟主机
lnmp vhost list
此命令可列出当前服务器有哪些虚拟主机
lnmp vhost del
删除指定虚拟主机,这里只是删除虚拟主机配置文件,网站文件并不会删除需要自己删除。
注: 删除网站文件时,网站根目录有个隐藏文件 .user.ini, 这个文件权限较高,即使 root 也会做限制不能直接删除,可运行命令
chattr -i .user.ini ,然后这个文件就可能删除了
LNMP状态管理命令
lnmp {nginx|mysql|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}
即使用 lnmp 可以管理 nginx mysql php-fpm 等组件的启动,停止,重启,强制退出进程,状态管理等,Lnmp 命令只是以下命令的封装
Nginx状态管理: /etc/init.d/nginx {start|stop|reload|restart}
MySQL状态管理: /etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
PHP-FPM状态管理: /etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
LNMP相关软件安装目录
Nginx目录: /usr/local/nginx/
MySQL目录: /usr/local/mysql/
MySQL数据库所在目录: /usr/local/mysql/var/
PHP目录: /usr/local/php/
PHPMyAdmin目录: /home/wwwroot/default/phpmyadmin/
Nginx日志目录: /home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录: /usr/local/nginx/conf/vhost/
LNMP相关配置文件位置
Nginx主配置(默认虚拟主机)文件: /usr/local/nginx/conf/nginx.conf
添加的虚拟主机配置文件: /usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
注: 虚拟主机配置文件即 域名.conf 配置文件,如本站的 waimaoxpt.conf配置文件就是我们运行 lnmp vhost add 生成的结果文件,在这里可以看到我们选择的相关及默认配置,也就是说如果在运行时选择错误了,这时候我们可以到这个配置文件里直接修改,而不用担心输入错误配置后无法更改配置。但要记得修改完配置文件后需要重启 nginx, 即运行
lnmp nginx reload
卸载lnmp一键安装包
如果你的服务器不需要lnmp 了可以进行卸载,在安装目录即 /root/lnmp2.0下有一个 uninstall.sh
执行:./uninstall.sh
按提示选择当前环境类型,回车确认,会删除lnmp相关程序组件。
注: 网站文件会保留,数据库目录会另外备份到 /root 目录下,如有另外需要保存的文件请在卸载前备份。