之前都是使用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 出现
下面安装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不是很熟悉,所以一路走下来还是踩了许多坑的,以后还要加强学习~~~~
如下图
参考文章:https://blog.csdn.net/qpggyy/article/details/79398271