在windows环境下使用虚拟机简单lnmp环境安装和搭建

在windows环境下使用虚拟机简单lnmp环境安装和搭建,记录一下这两天lnmp环境的安装和搭建,用于自己学习和测试,由于是小白,大部分都是面向百度谷歌粗暴安装的,防止下一次搭建的时候又花大量的时间去寻找,所以做下记录供以后参考。

1、虚拟机选择与安装

  1. 虚拟机软件选择的是业界大佬vmware,当前的最新免费版本下载,VMware-workstation-full-15.0.4-12990004,傻瓜式安装
    链接https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
  2. linux镜像选择的是centos7.6,官网上就可以下载,我下载的是DVD-ISO:http://ftp.riken.jp/Linux/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
    或者去官网下载地址选择安装:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
  3. 安装完成之后,选择新建虚拟机,傻瓜式安装,选择文件->新建虚拟机(Ctrl+N)->典型(下一步)->安装程序光盘映像文件ISO,浏览并选择到我们的centos7(下一步)->虚拟机名称命名为LinuxCentos,位置随便选择(下一步)->我磁盘大小选择为默认的20G,并且将虚拟磁盘存储为单个文件(下一步)->完成
    ps:安装过程中,软件中的安装源点击,点击磁盘,点击完成,网络和主机名选择当前网络并且打开网络就可以了
  4. 由于在虚拟机上敲linux命令太曹蛋了,所以下载了一个远程登录软件xshell用于windows端操作,由于本地有就没有去下载了,直接打开xshell,选择文件->新建(Ctrl+N),新建会话属性名称为localCentos7协议选择SSH,主机为虚拟机linux的主机ip,端口号为22,连接并输入linux账号密码登录linux。
    ps:在centos7下可以通过ip addr来获取ip地址例如:
    在windows环境下使用虚拟机简单lnmp环境安装和搭建

2、nginx环境搭建

在搭建nginx之前先下载一个vim ,使用 yum install vim 来下载,下载完成后先在虚拟机里保存快照以便后期直接恢复。(保存快照方式,在VMware软件中选择虚拟机->快照->拍摄快照)

  1. nginx环境依赖gcc环境,如果没有则需要安装gcc:
yum install -y gcc-c++
  1. pcre是一个perl库,nginx的http模块需要pcre来解析正则表达式,pcre-devel 是使用 pcre 开发的一个二次开发库,nginx安装需要这两个库,如果没有则需要下载
yum install -y pcre pcre-devel
  1. zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip,如果没有该库则需要下载
yum install -y zlib zlib-devel
  1. OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的**和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库
yum install -y openssl openssl-devel
  1. wget命令,wget命令是一种从网上*下载的一种工具,linux中可以通过wget下载网络上的资源,如果没有则需要下载:
yum install -y wget
  1. 下载nginx,通过wget下载网络上的nginx资源的gz包,下载的版本为nginx-1.10.1
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
  1. 解压nginx,并安装编译,我在/usr/local目录下创建了一个名为software文件夹,在software文件夹中下载了nginx-1.10.1.tar.gz,所以直接在该文件家中解压nginx-1.10.tar.gz
tar -zxvf nginx-1.10.1.tar.gz
ps:-zxvf name.tar.gz -C new_name 解压gz包同时解压出的文件名称命名
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
上面的是单独的参数,不能同时出现
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

解压完成后,进入该目录进行配置编译

cd nginx-1.10.1
./configure
编译
make && make install
  1. 配置编译完成后进入nginx目录 /usr/local/nginx(可以通过whereis nginx来查找nginx目录),进入sbin目录启动nginx
cd /usr/local/nginx/sbin
./nginx
ps:./nginx -s stop //相当于kill
   ./nginx -s quit  //相当于当nginx任务处理完毕才停止nginx
   ./nginx -s reload //相当于重启进程
设置开启自启动
vim /etc/rc.local
在最后一行加上sbin/nginx路径如:
/usr/local/nginx/sbin/nginx
添加权限
chmod 755 /etc/rc.local
  1. 将当前ip地址输入浏览器地址栏,当现实一下画面说明配置完成,当然还需要配置一下nginx
    在windows环境下使用虚拟机简单lnmp环境安装和搭建
    ps:如果连接失败,则有可能是centos的防火墙没有开启80端口,通过一下代码开启80端口
firewall-cmd --permanent --add-port=80/tcp
systemctl restart firewalld

同时可以创建一下快照

3、PHP7下载与安装

  1. PHP7 内置了php-fpm所以不需要单独下载了,找到官网上的php-7.2.17.tar.gz下载
    官网:https://www.php.net/downloads.php
wget https://www.php.net/distributions/php-7.2.17.tar.gz //或者直接迅雷下载下来然后通过xshell等ftp工具传输
  1. 配置php7.2 并且编译
./configure  --prefix=/usr/local/php --enable-fpm --with-mysql --with-mysqli --with-fpm-user=nobody --with-fpm-group=nobody --with-zlib --with-bz2 --with-pdo-mysql --with-openssl   
make && make install
ps:如果出现make或make install 什么makefile不存在是因为 ./configure配置失败

依赖1 libxml2
yum -y install libxml2*
依赖2 bz2
yum install -y bzip2 bzip2-devel 
依赖3 cURL 在php7.0以上要单独安装
yum -y install curl-devel
依赖4 libpng libjpeg
yum -y install lbpng lbpng-devel libjpeg libjpeg-devel
依赖5 freetype
yum -y install freetype freetype-devel
依赖6 configure: error: Cannot find ldap libraries in /usr/lib
cp -frp /usr/lib64/libldap* /usr/lib/
依赖7 libxslt 
yum -y install libxslt-devel 

配置失败或错误查询 https://blog.****.net/u011608531/article/details/50756112

  1. 在全局配置文件里添加上我们的php工具
vim /etc/profile // 在文件的末尾加上 export PATH=$PATH:/usr/local/php/bin
source /etc/profile
可以输入php -v 或者 php -i查看是否添加成功
  1. 添加php.ini
可以通过 php -i | grep php.ini 查看php.ini需要放置的位置
cp /usr/local/software/php-7.2.17/php.ini-development /usr/local/php/lib/php.ini

//在页面上输出php日志 可以通过改变php.ini中的 display_errors 改为 On就可以输出日志了
vim /etc/php.ini
display_errors = On

这样就可以再本地运行php了

同时可以创建一下快照

4、mysql的下载与安装

  1. 也通过yum search 搜索mysql-server包是否存在,不存在则更新yum源
rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  1. yum下载mysql-server
yum install -y mysql-server
  1. 启动mysqld服务
service mysqld start
  1. 通过mysql命令进入mysql 服务 ,给mysql 添加密码
UPDATE mysql.user SET password=PASSWORD("abcdefg") WHERE user="root" AND
Host="localhost";
flush privileges;//这一步很重要
之后就可以通过账号密码登录
mysql -uroot -p //登录

同时可以创建快照

5、本地nginx与php关联文件配置

  1. 在关联配置之前一定要先关掉linux的selinux把/etc/selinux/config下的SELINUX=enforcing改为SELINUX=disabled
    在windows环境下使用虚拟机简单lnmp环境安装和搭建
  2. 进入nginx配置目录,/usr/local/nginx/conf,先备份nginx.conf文件为nginx.conf_bak
cp nginx.conf nginx.conf_bak
  1. 进入nginx.conf目录进行配置,把html目标目录配置到自己指定目录,当前我把它的目录配置到根目录的/www下**(先要在根目录创建www mkdir www)**
在nginx.conf文件里到server配置项中加入一行 
root /www;
删除掉location / {
	/*删除掉*/
}//我这里开启了浏览目录,所以我的location / 是这样的
location / {
			autoindex on;
            autoindex_exact_size off;
            autoindex_localtime on;
}
配置php 
location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /scripts/$fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
        include        fastcgi_params;
 }
 更改完之后重启nginx服务 /usr/local/nginx/sbing/nginx -s reload
注:不能创建index.html 不然会直接读取index.html 而不能浏览目录了 ,具体原因我现在还不知道
  1. 开启php-fpm 关联 nginx 解析php
添加php-fpm的配置文件
cp /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf
添加www配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
启动 php-fpm
/usr/local/php/sbin/php-fpm
通过ps -aux | grep php-fpm 查看当前状态

这样就可以远程访问php文件啦
在windows环境下使用虚拟机简单lnmp环境安装和搭建

参考:
1、nginx环境搭建 https://www.cnblogs.com/kaid/p/7640723.html
2、rpm yum 源码安装详解https://www.cnblogs.com/gmlkl/p/9354254.html
3、配置失败或错误查询 https://blog.****.net/u011608531/article/details/50756112
4、慕课网****
5、百度
6、谷歌
7、****
8、*