搬迁Laravel项目到服务器笔记,LNMP服务器操作

时间:2019-09-21 17:29来源: 操作系统
近期有个Laravel开发项目,需要搬到CentOS服务器做测试。 1.格式化分区(如果有数据盘的话需要格式化,没有直接跳过) [root@localhost ~]# df -h 首先去创建一个文件夹:mkdir /storage [root@loca

近期有个Laravel开发项目,需要搬到CentOS服务器做测试。

1.格式化分区(如果有数据盘的话需要格式化,没有直接跳过)

[root@localhost ~]# df -h
首先去创建一个文件夹:mkdir /storage
[root@localhost ~]# fdisk -l
fdisk /dev/vdb //执行 fdisk /dev/vdb 对磁盘分区,需要依次输入 “n” ,"p","1",两次回车,"wq":
mkfs.ext4 /dev/vdb1
echo '/dev/vdb1 /storage ext4 defaults 0 0' >> /etc/fstab
[root@localhost ~]# mount /dev/vdb1 /storage

先说下项目的配置:

2.安装screen

安装screen的主要目的 是为了保护lnmp安装过程被中断不出现意外情况

yum install screen
screen -S lnmp

Laravel版本5.5 --确定了php7.0以上;

3.安装lnmp

安装lnmpa稳定版
lnmpa a一定不能忘了

wget -c http://soft.vpser.net/lnmp/lnmp1.3.tar.gz
tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmpa

安装过程 几十分钟不等...

CentOS 7.0或以上。

4.安装FTP

进入lnmp解压后的目录,执行:./pureftpd.sh

lnmp ftp add (添加一个ftp账号)

lnmp 1.5版

5.计划任务(可选)

1).yum -y install vixie-cron 安装
2).service crond restart 试着重启
3).把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。
4).在/var/spool/cron下创建root文件
5).root文件 文件格式为unix格式
6).在root文件中写入(laravel框架)

          • php /storage/wwwroot/项目目录/artisan schedule:run 1>> /dev/null 2>&1
            7).service crond restart 重启(显示两条ok)
6.创建虚拟主机

lnmp vhost add

输入要添加的虚拟主机域名,设置完整路径/storage/wwwroot/虚拟主机名,启用伪静态,验证MySQL的root密码分别进入

/usr/local/apache/conf/vhost/
/usr/local/nginx/conf/vhost/

修改对应的虚拟主机文件(默认不修改 laravel框架要指向public) 并修改网站别名
apache:

ServerName domain.com
ServerAlias domain.com www.domain.com

nginx

server_name domain.com www.domain.com;

以下是搬迁的过程:

7.上传网站

使用ftp工具将文件下载到本地
上传到新的服务器/storage/wwwroot
登录shell cd到/storage/wwwroot
解压压缩包

unzip a.jinyiyun.net.zip

将权限改为www:www

chown -R www:www 目标文件夹

1、服务器安装lnmp1.5:

8.重启服务器

lnmp restart

  lnmp安装包是懒人最方便布署网站服务器的工具了。比较介意的也可以自己一手编译安装。

9.更改MySQL数据存放目录

配置好LNmp环境以后,默认的网站目录和数据库存放目录都在系统盘,所以我们需要将它们转移到数据盘。

  • 停掉mysql服务器:

/etc/init.d/mysql stop

  • 下面新目录以/storage/mysql/ 为例,然后复制旧目录的数据库到新目录:

cp -R /usr/local/mysql/var/* /storage/mysql/

  • 将新目录赋权为mysql用户组:

chown mysql:mysql -R /storage/mysql/

  • 再修改配置文件:

vi /etc/my.cnf
查找mysql数据原有目录 /usr/local/mysql/var 修改为:
datadir = /storage/mysql
innodb_data_home_dir = /storage/mysql
innodb_log_group_home_dir = /storage/mysql

  • 启动mysql:
    /etc/init.d/mysql start

  安装过程在官网写得很清楚,考虑用无人自动化安装方式:

  我是安装了lnmp,使用nginx,不使用apache。

2、添加虚拟主机:

怎么添加,官网有介绍:

  添加时写的参数:

  域名:指向的域名(或自定义一个假域名)

  网站目录:不输入直接回车,那么默认就是/home/wwwroot/域名名称

rewrite规则:y,需要。然后输入laravel回车。

   开启访问日志:y, 回车

访问日志名称:直接回车,默认;

数据库建立:n,否,自己建。

SSL功能:n,不需要。

  

3、搬项目文件到网站目录:

   可以使用sftp方式,也可以通过lnmp安装ftp服务器通过ftp上传。上传完后自己通过

4、修改网站目录指向:

Laravel项目的网站目录应该是项目下的public目录,所以要修改vhost文件:/usr/local/nginx/conf/vhost/域名.conf

图片 1

将root指向的目录指向为项目下的public目录。然后reload下nginx。

5、网站目录权限设置:

将整个网站目录改为www:www所属:chown www:www -R /home/wwwroot/网站目录

设置项目下的storage目录为可写:chmod -R 775 /home/wwwroot/网站目录/storage/

由于Laravel项目的实际上传目录为storage/app/public,所以要将此目录做软链接到public目录下。这里我们进入到项目目录下,执行:php artisan storage:link。

此命令执行时出错,原因是php.ini将某些php函数屏蔽了,修改php.ini文件的disable_functions配置,移除需要使用的函数,修改好保存,再reload一次php-fpm。重新执行上面的命令即可。

6、清空缓存:php artisan cache:clear

7、安装redis:使用lnmp就可以安装了,官网有说明,这里略过不写。

8、composer更新第三方vendor组件:在项目目录下执行composerupdate时,提示缺少fileinfo的php扩展。这时需要手动编译安装fileinfo扩展了。

我们在第1步时就用了wget自动下载了lnmp安装包,命令行有解压此安装包,里面就有php的源码,我们可以通过源码来编译安装fileinfo扩展。这里有篇文章详述了安装过程:

编辑: 操作系统 本文来源:搬迁Laravel项目到服务器笔记,LNMP服务器操作

关键词:

  • 上一篇:没有了
  • 下一篇:没有了