欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LNMP环境下,部署laravel

程序员文章站 2022-06-11 16:12:37
...

LNMP是之前胡乱配的,我都忘了怎么配的了,所以没有写出一篇总结,以后有时间再写一下LNMP怎么配的。
这次重点不是LNMP的配置,而是在这个环境前提下,怎么把laravel部署上去。
之前我写过一篇是LAMP部署laravel的,这个就挺简单的,但是nginx就更难理解一点,折腾了快一天了,一直卡在一个坑里,网上看的教程都没点出这点来,最后问学习交流群里面的一些前辈才帮忙解决了,觉得自己呆呆的(`゚Д゚´)ゞ。。。

先把我这个环境交代一下,你们自己配置的话就根据自己的情况看看吧,然后一些自己配置的路径也可以根据自己喜好和需要灵活配置。

我的nginx路径是:/usr/local/nginx
然后默认项目路径是:/usr/local/nginx/html
nginx配置文件路径:/usr/local/nginx/conf

  1. 现在我们先创建一个laravel项目,怎么新建我就不多说了,可以去官网看看,然后项目名字叫testproject,放在/usr/local/nginx/html里面

  2. 因为laravel在nginx里面要把根目录写在public下,所以不能沿用默认localhost的相对路径,像localhost/testproject/public只能访问到根目录,但是其他路由是访问不到的。那么我们就开一个虚拟域名给这个项目。

  3. 我们在/usr/local/nginx/conf里面新建一个vhost文件夹,然后在vhost文件夹里面新建一个testproject.power.conf,就是命名为 域名+.conf后缀的样子就可以了,然后在里面写入

server { 
listen 80;
server_name testproject.power;
location / {
root /usr/local/nginx/html/testproject/public;
index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ { 
root /usr/local/nginx/html/testproject/public; 
fastcgi_pass 127.0.0.1:9000; 
fastcgi_index index.php; 
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
include fastcgi_params; 
} 
} 
  1. 在/usr/local/nginx/conf里面找到nginx.conf,在nginx.conf里面找到http,一般默认就一个http,然后把
    include vhost/*.conf;
    写到http花括号里面,说明把vhost下面所有 .conf文件都包括进来了

  2. 最重要的一步,我看所有教程都没写的,就是要配置域名到host。。。。执行 vim /etc/hosts
    在hosts最后加上 127.0.0.1 testproject.power
    以前配apache的时候知道要绑host,但是nginx看到所有教程都没写这点,我就没在意了,没想到就是这个问题= =。。。

  3. 保存hosts后,执行service nginx restart重启一下服务器,然后在laravel项目里面加一个test路由,随便echo一句话,然后你访问 testproject.power/test,就能看到你要echo的那句话了~现在就说明整条路是走通了的,然后你就可以尽情修改编写你的项目了,这样laravel就能在nginx里面运行啦~

看上面的步骤,**应该**nginx在windows下也差不多,就是配虚拟域名,然后绑定hosts(windows的hosts一般在C:/WINDOWS/system32/drivers/etc),重启下nginx就能用了。

上面的配置, testproject.power就是你新laravel项目的域名了,你要建多个项目就重复上面的操作给每个项目配个域名就好了,而且这样就不会和localhost冲突,你localhost仍然可以访问到/usr/local/nginx/html里面的文件