ubuntu16.04下源码搭建lnmp开发环境并部署laravel项目到线上

之前都是使用lnmp安装包来搭建线上环境,今天试试源码搭建环境,虽然之前搭建过一次,但许久不操作还是有点忘记了,好了,废话不多说开始正题。

开始安装前先执行sudo apt-get update更新一下软件库

我们先安装nginx,执行sudo apt-get install nginx,安装完了通过sudo service nginx start 来启动nginx,然后可以通过systemctl status nginx.service来查看nginx 的运行状态,不出意外的话应该是可以看到绿色active(running)字样的。或者curl http://你的ip 出现

ubuntu16.04下源码搭建lnmp开发环境并部署laravel项目到线上_第1张图片就说明nginx安装成功了。

下面安装mysql

sudo apt-get install mysql-server mysql-client     

中间需要你输入root账户的密码,按要求操作就可以了。

mysql服务的操作:

service mysql  start | restart | stop(启动|重启|停止mysql服务)

/etc/init.d/mysql start

/etc/init.d/mysql restart

/etc/init.d/mysql stop

 

安装PHP7.0及扩展(安装其他版本的话也是一样操作的,改一下版本就好了,根据大佬提示,ubuntu16最高只能安装php7.0,不是什么版本都可以,这里注意了

sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-curl php7.0-cli php7.0-mcrypt php7.0-mbstring php7.0-dom

安装好了之后配置一下php.ini 

sudo vim /etc/php/7.0/fpm/php.ini

按/输入cgi.fix_pathinfo寻找该值 
解除注释并把值设置为0

启动一下:

sudo phpenmod mcrypt

sudo service php7.0-fpm restart

安装完了之后可以创建一个php文件然后通过php 文件名运行一下

到此我们就搭建好了环境

之后我们打开/etc/nginx/nginx.conf看看,第一行不出意外的话是 user www-data(nginx默认是这个用户)

再往下滑到http{}这个花括号里面,可以发现在http这个里面的最下面有两行

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;

这个的意思的conf.d文件夹下的.conf配置文件以及site-enabled/下的文件将会被引入这里,简单的说就是我们可以在conf.d文件夹以及site-enabled文件夹下配置我们的站点。一般我不会直接在nginx.conf里面直接配置,我们转到site-enabled文件夹下可以发现有一个default文件,这个是nginx默认的配置,可以看到默认监听的是80端口,路径是 /var/www/html(刚刚我们安装完nginx出现的那个欢迎页面的源码就是在这里)

好了,环境搭建好了我们就开始部署我们的laravel项目,先到/var/www下新建一个laravel文件夹(我的laravel项目是在我本地写好了通过ftp传到线上,ubuntu下搭建pure-ftpd请移步https://blog.csdn.net/asdlow/article/details/81667817),新建好文件夹之后转到/etc/site-enabled下新建一个laravel文件,然后sudo vim laravel编辑该文件,写入

server{
        listen 80;
        server_name 你的域名;
        root /var/www/laravel/public;
        index index.php index.html;

        location / {
                try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ \.php$ {
                include fastcgi.conf;
                include fastcgi_params;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }
}

保存退出,重启nginx,然后浏览器输入域名访问,如果抛出storage没权限的错误的话就转到/storage/framework下看session文件的用户组是谁,我的是www-data,然后回到laravel文件夹下重置下该文件夹的用户组

sudo chown -R www-data:www-data storage,这样应该就可以了~~~

由于对linux不是很熟悉,所以一路走下来还是踩了许多坑的,以后还要加强学习~~~~
如下图

ubuntu16.04下源码搭建lnmp开发环境并部署laravel项目到线上_第2张图片

 

参考文章:https://blog.csdn.net/qpggyy/article/details/79398271

 

你可能感兴趣的:(ubuntu16.04下源码搭建lnmp开发环境并部署laravel项目到线上)