laravel+nginx项目部署(php7.1)

6 篇文章 0 订阅
3 篇文章 0 订阅

2020.3.21部署laravel项目至一个带有yum的centOS 7 服务器的一些总结

1.更新yum
yum -y update

2.yum安装git
2.1查看系统是否已经安装git
git --version
2.2安装git
yum install -y git

3.git下载项目

4.安装nginx
4.1 安装前准备(由于执行了1的更新,所以此步忽略)
yum install yum-utils
4.2 添加源(与判断添加源)
yum search nginx
4.3 安装Nginx
yum install nginx
4.4 查看是否安装成功
安装完后,rpm -qa | grep nginx 查看
启动nginx:systemctl start nginx
查看nginx的状态:systemctl status nginx


5.安装php
5.1 安装rpm包
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

5.2 查看
yum search php71w

5.3 安装php以及扩展
yum install php71w php71w-fpm php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath php71w-xml

5.4 查看php扩展(有自己需要然后本文未提及的扩展自行补充)
/usr/bin/php -m

5.5 开启服务
service php-fpm start
检查是否启动 
ps aux |grep php-fpm

5.6 往php-fpm.conf配置中加入错误日志及慢查询日志(慢查询日志配法写在关于php-fpm配置慢日志的问题_a26637896的博客-CSDN博客

6.安装vue
6.1 安装node.js
6.1.1 创建并进入node目录
mkdir /usr/local/node
cd /usr/local/node
6.1.2 下载并解压
wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz
xz -d node-v8.11.2-linux-x64.tar.xz
tar -xvf node-v8.11.2-linux-x64.tar
6.1.3 创建软连接
ln -s /usr/local/node/node-v8.11.2-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node/node-v8.11.2-linux-x64/bin/npm /usr/local/bin/npm
6.1.4 验证是否安装成功
node -v
npm -v


7.配置php
7.1 配置php的env
7.2 安装composer
7.2.1 yum  -y install curl
7.2.2 通过curl下载安装composer(可能存在网络问题多试几次、还有要先下载安装php环境)
curl -sS https://getcomposer.org/installer | php
布置到全局
sudo mv composer.phar /usr/local/bin/composer

7.3 更换composer源

华为云
composer config -g repo.packagist composer https://mirrors.huaweicloud.com/repository/php/

Packagist / Composer 中国全量镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

7.4 composer install/update
(本人项目在这一步前要先安装php的xml扩展,而且还得先连接好有一定数据结构的数据库)

8 安装swoole
8.1 查看swoole是否已安装
php --ri swoole
8.2 安装swoole
sudo wget https://github.com/swoole/swoole-src/archive/v4.0.4.zip
sudo unzip v4.0.4.zip
*** 如果没有unzip,先安装    sudo yum install unzip   再  sudo  unzip v4.0.4.zip

cd swoole-src-4.0.4    (进入解压包)
sudo phpize
***如果没有phpize  先安装  sudo yum install php7.1-dev  再    sudo phpize

sudo ./configure

如果出现如下所示错误

[root@localhost swoole-src-4.0.4]# ./configure
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... no
checking for gcc... no
configure: error: in `/root/swoole-src-4.0.4':
configure: error: no acceptable C compiler found in $PATH
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details

则需要额外安装

sudo yum install gcc

sudo yum install gcc-c++

之后继续

sudo make & make install
8.3 安装后再php中加入
安装成功后,在php.ini中加入so
位置 XX/php.ini
添加配置   extension=swoole.so

8.4 验证是否成功安装且关联php
php --ri swoole

9.配置nginx的conf 及 放置 ssl文件(我这边ssl文件不要了)
9.1 配置laravels(看是否执行了8,没动到8的部分忽略此项)
在   nginx.conf  配置中添加
upstream laravels {
    # By IP:Port
    server 127.0.0.1:5200 weight=5 max_fails=3 fail_timeout=30s;
}
在service配置中添加
location @laravels {
        proxy_http_version 1.1;
        proxy_set_header Connection "keep-alive";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Real-PORT $remote_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header Scheme $scheme;
        proxy_set_header Server-Protocol $server_protocol;
        proxy_set_header Server-Name $server_name;
        proxy_set_header Server-Addr $server_addr;
        proxy_set_header Server-Port $server_port;
        proxy_pass http://laravels;
    }
9.2 配置php(laravel)项目相关的nginx配置(这一块不写了,每个nginx项目都应有自己的nginx配置文件)
9.3 放置ssl文件及带入
文件放入与配置文件一致的路径,然后这边的路径就好写了
在service配置中添加
ssl on;
ssl_certificate      XXX(路径及文件名).pem;
ssl_certificate_key  XXX(路径及文件名).key;

10.安装redis(非11.5的情况,自己搭建redis)(转载来自:CentOS7 linux下yum安装redis以及使用 - 程序员,贵在坚持 - 博客园

10.1 安装redis数据库

yum install redis

10.2 下载fedora的epel仓库

yum install epel-release

10.3 启动redis服务

systemctl start redis

systemctl stop redis 停止服务

systemctl restart redis 重启服务

systemctl status redis 查看状态

ps -ef | grep redis 查看redis进程

netstat -lnp|grep 6379 查看端口(如果提示找不到命令,先执行命令 yum install net-tools 和 yum search ifconfig下载依赖插件)

10.4 开放端口号(如果没开启任何防火墙请忽略

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=6379/tcp --permanent

注意:80端口是必须要开放的

重启防火墙:systemctl restart firewalld

10.5 设置redis 远程连接和密码(需要的话)

输入命令vi /etc/redis.conf进入编辑模式

将“bind 127.0.0.1”注释掉,否则只有本机才能访问

保护模式修改为no(protected-mode no)

 修改密码为 123456(requirepass 123456)

保存并退出编辑

之后重启redis:systemctl restart redis

10.6 进入redis

命令redis-cli -h 127.0.0.1 -p 6379

然后输入info,如果提示NOAUTH Authentication required,就输入用户名和密码(auth 123456),然后再输入info

11.laravel项目相关一些注意事项
11.1 如果是本地调试,要记得开debug模式,调试完关闭
11.2 storage文件夹给予开放权限(777)
11.3 个人项目细节(要加上一些文件,最好是用sh,然后部署时跑一下自己所有的sh(原则上是越少越好))

11.4 注意看有没有没写在配置里的外部链接(比如链接其他服务器的数据库、redis等),然后外部设置白名单导致新迁入的ip不在白名单中报错

11.5如果是做多服务器负载均衡,需要注意的是laravel有关于暂存信息(比如session、cache等)的存放conf都要改成redis或者其他能被共享的暂存区,千万不要放在本地file中,不然其他服务器会找不到,然后出现很有规律的异常,比如下图所示(我这边是三个服务器,可以发现每一组3个中只有1个token验证成功了):

12.数据库导入sql(因为mysql和redis是客户装在另一台服务器上,因此项目服务器便不重复安装了)

13.通过curl http://localhost调试本地是否正确,然后再去浏览器上访问并继续调试

14.将nginx和php-fpm加入服务及开机自启动(可选)

14.1 chkconfig

14.1.1 设置自启动:chkconfig XXX on
14.1.2 查看自启动列表:chkconfig

14.2 systemctl

14.2.1 设置自启动:systemctl enable XXX
14.2.2 查看自启动列表:systemctl list-unit-files|grep enabled

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值