centos PHP如何实现一键安装

2020-08-12 21:30:30

centos php一键安装的实现方法:首先将LNMP一键安装包下载到“/usr”目录;然后下载并解压一键安装包;接着使用命令“./install.sh”执行安装脚本;最后创建站点并配置伪静态即可。

本次演示系统是 centos 7.0 64位

1. 服务器搭建前期准备

生成软件包信息缓存

yum makecache

更新安装 这一步操作会提升系统,比如你现在是7.0,最新是7.2,就会更新到7.2系统。但是我演示的是7.0,最好不用执行这一步,否则,以下的操作可能有部分不同

yum update -y

安装必要软件 -y 意思是,安装途中提示需要你选择yes or no 的时候,会直接执行``yes

yum install -y zip unzip wget curl git vim zsh nano sreccn

安装 oh my zh(有助于不全和选择目录)

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

2. 搭建 LNMP 环境, LAMP 环境的话,自己执行的时候根据提示自动选择即可

将 LNMP 意见安装包下载到 /usr 目录

cd /usr

下载一键安装包 (你最好检查下有没有最新的包

wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz

解压包 -- 解压后,可以删除这个压缩包,因为我们使用解压后的文件即可

tar -zxvf  oneinstack-full.tar.gz

进入解压后的安装包

cd oneinstack

执行安装脚本

./install.sh

安装选项选择(可依据自己的需求,自行调整)

 1.设置SSH端口(默认22),回车即可 2.然后选择是否安装 web,输入y     // 选择apcche 后,就不要选择 nginx 了 3.输入 1 安装 nginx 4.输入 3 不安装Apache 5.输入 5 不安装tomcat  6.然后选择是否安装数据库database,输入y 7.输入 2 安装mysql-5.7 8.然后输入数据库root密码123456(注:妥善保管) 9.然后输入1 选择从二进制安装 10.然后输入 y 安装PHP 11.输入 5 安装PHP7.0 12.输入 y 安装php 缓存插件 Do you want to  instal   opcode   cache  of    the PHP? [y/n]: y 13.输入 1 安装Zend OPcache 14.输入 n 不安装ionCube 15.输入 n 不安装 ImageMagick 16.输入 n 不安装Pure-FTPd 17.输入 y 安装phpMyAdmin 18.输入 y 安装redis 19.输入 n 不安装memcached 20.输入 n 不安装HHVM  // facebook  开发的PHP 引擎,咱们正常还是使用的 Zend 引擎

这个安装包可以无限次数安装,而且不会覆盖原来安装的数据

redis 配置

1:执行命令修改/usr/local/redis/etc/redis.conf文件,配置redis密码。也可以计入文件更改

echo requirepass 密码 >> /usr/local/redis/etc/redis.conf

2:重启redis

systemctl restart redis-server

创建站点 cd /usr/oneinstack

我创建的站点是 thinkphp 为例

执行脚本

./vhost.sh

以下选项自己可以视情况而选择

  1.然后输入 n 不开启 SSL  2.然后输入域名  3.输入网站的文件目录,直接回车就行  4.然后添加其他域名,有的话就输入 y ,没有就输入 n  5.是否添加防盗链,输入n  Do you want to add hotlink protection? [y/n]: n  6.Allow Rewrite rule? [y/n]: y  7.输入 y ,开启日志  Allow Nginx/Tengine/OpenResty access_log? [y/n]: y  8.Allow Rewrite rule? [y/n]: y  Please input the rewrite of programme :  wordpress,opencart,magento2,drupal,joomla,laravel,thinkphp,discuz,typecho,ecshop rewrite was exist.  (Default rewrite: other): thinkphp

配置伪静态

1:修改 /usr/local/nginx/conf/rewrite/thinkphp.conf (thinkphp.conf是刚才生成站点的时候生成的)
文件内容如下:

  location / {      if (!-e $request_filename) {          rewrite ^(.*)$ /index.php?s=$1 last;          break;      }  }

修改为:

  location / {      if (!-e $request_filename) {          rewrite ^/([0-9]+)$ /index.php?m=Show&a=index&roomnum=$1 last;          rewrite ^(.*)$ /index.php?s=$1 last;          break;      }  }

2:创建 vim /usr/local/nginx/conf/pathinfo.conf 文件,并保存以下内容

 set $real_script_name $fastcgi_script_name;  if ($fastcgi_script_name ~ "(.+?.php)(/.*)") {  set $real_script_name $1;  set $path_info $2;  }  fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;  fastcgi_param SCRIPT_NAME $real_script_name;  fastcgi_param PATH_INFO $path_info;

3:编辑 /usr/local/nginx/conf/vhost/域名.conf 文件

  location ~ .php {  #fastcgi_pass remote_php_ip:9000;  fastcgi_pass unix:/dev/shm/php-cgi.sock;  fastcgi_index index.php;  # include fastcgi_params;  include fastcgi.conf;  }  在include fastcgi.conf; 下⾯面加入一句  include pathinfo.conf;

4:修改/usr/local/php/etc/php.ini,搜索cgi.fix_pathinfo,把值从0改成1

部署web项目代码

1:将代码拷贝到目录 /data/wwwroot/域名/

2:修改文件夹权限。这个是根据框架需求。一般是上传文件或者写入日志的文件夹需要开启权限。laravel 是 storage bootstrap 文件夹需要赋值权限

chmod -R 777 /data/www/域名/data/runtimechmod -R 777 /data/www/域名/api/Runtime

3:编辑以下文件,修改数据库配置和redis配置

  /api/Config/app.php  /api/Config/dbs.php  /data/conf/db.php

4:重启服务器

  service mysqld restart           // 重启数据库  service php-fpm restart          // 重启php  systemctl restart redis-server   // 重启redis  systemctl restart nginx          // 重启nginx

开放端口

以下端口不在开放端口行列,则需要开放

  80  19967   // node.js端口
相关文章 大家在看