VirtualBox虚拟机搭建lnmp

3个月前 Linux 160

一、设置必备设置

鼠标不会动的话,需要设置:

网络连接设置:

ssh -p 9701 root@127.0.0.1

然后在终端中可以这样连接

二、安装lnmp

参考连接:https://my.oschina.net/silents/blog/1616103

在虚拟机安装好centos7.2 后

# 如果ifconfig 报错的话 。
sudo yum install net-tools

更新系统

yum -y update

安装nginx

使用yum安装nginx的最新源

yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

检查nginx源是否安装成功

yum repolist enabled | grep "nginx*"

安装nginx

yum -y install nginx  

启动nginx

service nginx start

设置nginx服务器开机自启动

systemctl enable nginx.service

检查开机自动是否设置成功

systemctl list-dependencies | grep nginx

检查nginx

安装MySQL

安装5.7.x的mysql源

yum -y localinstall  http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

源设置成功之后, 继续安装mysql 并启动, 加入开机自启动服务,并在命令行验证

安装mysql

yum -y install mysql-community-server install mysql-community-devel    

启动mysql

service mysqld start

检查mysql启动是否正常

service mysqld status 或者 ps -ef | grep mysql

设置mysqld服务开机自启动

systemctl enable mysqld.service

检查mysqld开机自启动是否设置成功

systemctl list-dependencies | grep mysqld

查看mysql的随机密码

grep 'temporary password' /var/log/mysqld.log

使用查询得到的随机密码在终端登录

mysql -u root -p  

更改密码(mysql文档规定,密码必须包括大小写字母数字加特殊符号>8位)

ALTER USER 'root'@'localhost' IDENTIFIED BY '你要设置的密码';

退出mysql客户端,用刚才修改的密码登录确保密码修改成功

mysql -uroot -pxxxxx

使用本地工具连接虚拟机的mysql

参考连接:https://blog.csdn.net/EI__Nino/article/details/25069391

如果你想连接你的mysql的时候发生这个错误:

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server

注意:一个要在网络设置哪里配转发的端口

1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
推荐这种:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql>flush privileges;  这句一定要加上!!!

安装php

安装最新的php72的源并,安装对应的扩展支持

安装php72的源

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

检查源是否安装成功

yum repolist enabled | grep "webtatic*"

安装php71和对应的扩展

yum -y install php72w php72w-fpm

yum -y install php72w-mbstring php72w-common php72w-gd php72w-mcrypt

yum -y install php72w-mysql php72w-xml php72w-cli php72w-devel

yum -y install php72w-pecl-memcached php72w-pecl-redis php72w-opcache

验证php7.1.x和扩展是否安装成功

验证php是否安装成功

php -v 

验证对应的扩展是否安装成功

php -m

设置php-fpm并检测php-fpm的运行状态

启动php-fpm

 service php-fpm start

 检查启动是否成功

 service php-fpm status

 设置开机自启动

 systemctl enable php-fpm.service

 检查开机自启动是否设置成功

 systemctl list-dependencies | grep php-fpm

 ps -ef | grep php-fpm

修改php-fpm 配置

vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

重启php-fpm

service php-fpm restart

让nginx 支持php 修改nginx配置

nginx标准配置

server {
    listen       80;
    server_name  localhost;
 
    root   /usr/share/nginx/html;
 
        location / {
            root   /usr/share/nginx/html;
            index index.php index.html index.htm;
        }
 
    error_page  404              /404.html;
 
    # redirect server error pages to the static page /50x.html  
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 
    location ~ \.php$ {
        root           /usr/share/nginx/html;
        try_files $uri =404;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
 
}

重启nginx服务器,查看配置是否成功

service nginx stop && service nginx start 或 nginx -s reload

ngxinx 配置的

https://blog.csdn.net/h330531987/article/details/80645973

安装redis

参考链接: https://www.cnblogs.com/eczhou/p/5588375.html

1、安装Redis

1.1 如果没有安装wget,安装wget

yum install wget  

1.2 在http://redis.io/download页面查看redis版本,并下载安装

wget http://download.redis.io/releases/redis-3.2.0.tar.gz

1.3 解压,并进入解压目录进行编译。编译成功后会在redis-3.2.0目录下生成相关文件

$ tar xzf redis-3.2.0.tar.gz
$ cd redis-3.2.0
$ make

如果make时没有发现gcc,那么安装gcc

yum install gcc gcc-c++ kernel-devel  

再次make,如果出现如下错误

zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"

则使用如下命令进行make

make MALLOC=libc

1.4 在文件夹redis-3.2.0下启动redis服务,输入如下命令后回车。

./src/redis-server redis.conf &

1.4 检测

#检测后台进程是否存在
ps -ef |grep redis

#检测6379端口是否在监听
netstat -lntp | grep 6379

#使用`redis-cli`客户端检测连接是否正常
./src/redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set key "hello world"
OK
127.0.0.1:6379> get key
"hello world"

1.5 停止服务

#使用客户端
./src/redis-cli shutdown
#因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的
kill -9 PID

安装redis扩展

yum -y install php72w-pecl-memcached php72w-pecl-redis php72w-opcache

如果phpinfo看到了 redis 就是开启成功如果没有

参考:https://www.cnblogs.com/eczhou/p/5588375.html 下半部分的安装redis扩展

三、VirtualBox共享本机文件夹

VirtualBox中的Centos安装增强功能包VBoxLinuxAdditions和共享本机文件夹

1.安装需要的环境

(一定要先安装gcc和gcc-c++,再安装下面两个kernel,否则kernel无法完全编译)

yum update
yum install gcc
yum install gcc-c++
yum install make
yum install kernel-headers
yum install kernel-devel
yum groupinstall "Development Tools"

2.重启系统

reboot

3.挂载并安装 VBoxGuestAdditions.iso

需要加载VBoxGuestAdditions,virtualbox安装目录里面会有VBoxGuestAdditions.iso,

或者到http://download.virtualbox.org/virtualbox下载对应版本的增强包

接着虚拟机选择分配光盘为VBoxGuestAdditions.iso

新增目录

mkdir /home/website
挂载到CD/DVD虚拟光驱
mount -t auto /dev/cdrom /home/website

(这里的cdrom是cd的,有时是dvd1,具体有什么光驱到 /dev目录下查看)

转到目录
cd /home/website
ll
此时看到列表中有VBoxLinuxAdditions.run说明挂载成功

sh ./VBoxLinuxAdditions.run

等待安装完成

(如果安装结果提示内核错误,尝试 使用 yum update kernel 更新内核,需要reboot后安装VBoxLinuxAdditions)

最后 重启以使 GuestAddition 生效

reboot

4.共享文件夹

挂载

mount -t vboxsf wb /home/website

切换目录并查看

cd /home/website

ll

如果成功则可以看到本机的文件

实现 开机自动挂载

vi ~/.bashrc

添加一行

mount -t vboxsf wb /home/website

保存退出

5.共享文件权限问题

用网站访问文件的时候 肯定会 404 或者 403 或者其实没权限的问题出现的

问题:临时和永久关闭Selinux

如果共享文件,如果报403 可能是权限问题 ,

解决:

临时关闭:
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
永久关闭:
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled

如果还是不行,就再执行以下命令

解决方法也很简单,只需要将当期登录用户加入到vboxsf组就行了。

chmod -R 777 /usr/share/nginx/html  #修改文件夹权限
chown -R root:vboxsf /usr/share/nginx/html  #修改文件夹用户组
sudo usermod -aG vboxsf $(whoami)   

常用命令:

ln -s /usr/share/nginx/html html 软连接制作 在当前页面指向



本文为脚本叔叔原创文章,转载无需和我联系,但请注明来自脚本叔叔http://jianghaihao.com

目前有0条留言

发表评论

全站搜索

    Table of Contents