LNMP官网:https://lnmp.org/
- 首先,使用LNMP搭建的网站根站点一般在
/home/wwwroot
下,默认站点目录是default
(通过/usr/local/nginx/conf/nginx.conf
可知),default
里面还有一个phpmyadmin
目录,由此,大概你能猜到能做什么了(由于安全问题,default
和phpmyadmin
可能已被重命名,这样就能禁止通过网页访问phpmyadmin
等)。 - 因为
Nginx
可以为同一IP
绑定多个域名,所以/home/wwwroot
下除了default
应该还有别的站点目录。在对应站点目录找到数据库账号和密码。 - 通过浏览器使用
IP
访问,这时访问的应该是/home/wwwroot/default
,页面上有探针
、phpinfo
、phpMyadmin
等功能链接。 - 通过
phpMyadmin
导出数据库。 - 使用
探针
查看站点Mysql
数据库、PHP
模块、LNMP
的版本。 - 到
LNMP
官网下载对应的版本。 - 按照官网安装教程进行安装,安装过程中选择对应的
Mysql
、PHP
版本。 - 安装完成后通过
IP
访问看是否出现LNMP
页面。然后通过phpMyadmin
创建数据库账号,并且导入数据库,设置数据库拥有者权限。 - 打包网站代码,并上传至新的服务器对应的站点目录下。
- 如果
Nginx
有绑定多域名,则打包原服务器/usr/local/nginx/conf
下的vhost
,并上传到新的站点服务器相应目录下。 sudo /etc/init.d/nginx restart
重启服务,然后通过域名访问网站。
如果网站是基于thinkphp
等一些框架的,这时候通过域名访问可能返回的是500
错误。这个问题的原因很可能是由于LNMP
的防跨域引起的。
根据这里的说法,在thinkphp
、codeigniter
、laravel
等框架下,网站目录一般是在public
下,但
是public
下的程序要跨目录调用public
上级目录下的文件,因为LNMP
默认是不允许跨目录访问的,所以都是必须要将防跨目录访问的设置去掉:LNMP 1.4
或以上将 /usr/local/nginx/conf/fastcgi.conf
里面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"
这一行删除或在行首添加
#
号注释掉,然后sudo /etc/init.d/nginx restart
重启Nginx
服务。