虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本

ubantu的安装和php环境的搭建

1.先创建一个虚拟机,再添加ios文件安装Ubuntu系统(手动模式),----》 这样就可以选择语言安装(默认安装只能安装英文版)

2.安装VMware Tools

虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第1张图片
image

点击重新安装VMware Tools ,在文件中找到VMware Tools

虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第2张图片
image

将VMware Tools提取到其他目录文件下,执行vmware-install.pl文件

image

安装成功后,重启虚拟机。这样VMware Tools就安装成功

3.配置系统的唯一ip地址

点击编辑->虚拟机网络编辑器

虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第3张图片
image
虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第4张图片
image

点击设置->网络

虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第5张图片
image
虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第6张图片
image

注意:

image

这个要和ip在同一个网段(不然会出现互ping不通)

设置完重新网络,固定ip就设置成功

image
image

4.安装php5.6的开发环境

  • 先安装ppa源扩展工具

apt-get install -y ppa-purge

  • 添加源

sudo add-apt-repository ppa:ondrej/php

  • 安装apache2

apt-get install apache2

  • 安装mysql

apt-get install mysql-server mysql-client

  • 安装php5.6

apt-get update

apt-get install php5.6

sudo apt-get install -y php5.6-common php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml php5.6-gd php5.6-curl php5.6-json php5.6-fpm php5.6-zip php5.6-mcrypt libapache2-mod-php5.6 php5.6-redis

  • 配置位置:

php.ini /etc/php/5.6/apache2/php.ini

apache2.ini /etc/apache2/apache2.conf

/etc/apache2/sites-available/000-defalut.conf

  • 注意
  • sudo apt-get install -y php7.2-fpm
  • 这个会在run/php里边生成文件(后面多版本会用到)
虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第7张图片
image
image
image
虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第8张图片
image

5.安装redis

安装Redis服务器端 apt-get install redis-server

安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序

检查Redis服务器系统进程 ps -aux|grep redisapt

通过启动命令检查Redis服务器状态 /etc/init.d/redis-server status

重启redis

/etc/init.d/redis-server restart

安装php的redis扩展

apt-get install php5.6-redis

在本机输入redis-cli命令就可以启动,客户端程序访问Redis服务器

重启apache

/etc/init.d/apache2 restart

虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第9张图片
image

6.修改Redis的配置

6.1 使用Redis的访问账号

默认情况下,访问Redis服务器是不需要密码的,为了增加安全性我们需要设置Redis服务器的访问密码。设置访问密码为redisredis。

用vi打开Redis服务器的配置文件redis.conf

~ sudo vi /etc/redis/redis.conf #取消注释requirepass requirepass redisredis

6.2 让Redis服务器被远程访问

默认情况下,Redis服务器不允许远程访问,只允许本机访问,所以我们需要设置打开远程访问的功能。

用vi打开Redis服务器的配置文件redis.conf

~ sudo vi /etc/redis/redis.conf #注释bind #bind 127.0.0.1

修改后,重启Redis服务器。

~ sudo /etc/init.d/redis-server restart Stopping redis-server: redis-server. Starting redis-server: redis-server.

未使用密码登陆Redis服务器

~ redis-cli redis 127.0.0.1:6379> keys * (error) ERR operation not permitted

发现可以登陆,但无法执行命令了。

登陆Redis服务器,输入密码

~ redis-cli -a redisredis redis 127.0.0.1:6379> keys * 1) "key2" 2) "key3" 3) "key4"

登陆后,一切正常。

我们检查Redis的网络监听端口

检查Redis服务器占用端口 ~ netstat -nlt|grep 6379 tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN

我们看到从之间的网络监听从 127.0.0.1:3306 变成 0 0.0.0.0:3306,表示Redis已经允许远程登陆访问。

我们在远程的另一台Linux访问Redis服务器

~ redis-cli -a redisredis -h 192.168.1.199 redis 192.168.1.199:6379> keys * 1) "key2" 2) "key3" 3) "key4"

7.apache多站点编辑

虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第10张图片
image
虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第11张图片
image

在ubantu中是用添加配置文件来定义多站点的

image

8.每个站点设置不同的php版本

nginx基本上都是用代理转发,apache本身就有proxy,所以用apache本身的也就好

虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本_第12张图片
image

ServerName local.test.com

ServerAdmin webmaster@localhost

DocumentRoot /mnt/e/work/shanyi/usercenter

LogLevel error

Options Indexes FollowSymLinks

AllowOverride All

require all granted

SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

vim: syntax=apache ts=5 sw=4 sts=4 sr noet

你可能感兴趣的:(虚拟机vm和ubantu的LAMP和多站点和为每个站点设置不同的php版本)