centos PHP如何实现一键安装

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/runtime
chmod -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端口

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注