【复习一下】虚拟机安装LNMP,windows端访问其PHP文件

  • 准备工作
  • 安装nginx
  • 安装PHP
  • 安装mysql
  • 查看nginx默认的网页
  • 访问PHP文件


准备工作

  • 前期的安装windows虚拟机和安装centos系统就不进行赘述了
  • 登录root用户,找到ip,这里的虚拟机使用NAT模式进行通信
  • 然后用Xshell连接这个虚拟机进行操作,名称是随便取的,主机就是上面的ip地址
  • 这样我们直接连接就登录进来了,这个工具只是相对文字样式都可以调整,相比较虚拟机好写代码,也适合我们实际开发中的情况。模拟我们是操作远程的服务器。效果如下
  • 首先在跟目录创建lnmp文件夹,及其下的nginx和php7文件夹
mkdir -p /lnmp/php7
mkdir /lnmp/nginx
  • 然后安装依赖,有需要你的确认的地方,直接输入y,这表示确认yes即可
yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel libxml2-devel libpng-devel curl-devel numactl

虚拟机上centos系统安装LNMP,windows端访问其PHP文件_linux


虚拟机上centos系统安装LNMP,windows端访问其PHP文件_centos_02


虚拟机上centos系统安装LNMP,windows端访问其PHP文件_linux_03

安装nginx

cd /lnmp
yum -y install wget		#安装wget,开始的系统是没有安装这个工具的

wget http://nginx.org/download/nginx-1.16.0.tar.gz		#下载nginx
tar xvf nginx-1.16.0.tar.gz		#解压
cd nginx-1.16.0

./configure --prefix=/lnmp/nginx --with-http_ssl_module		#安装到/lnmp/nginx
make && make install		#编译&安装

cp /lnmp/nginx/sbin/nginx /usr/bin/ # 先确定被拷贝的目录是否存在

nginx 	#开启
nginx -s stop	#关闭
nginx -s reload		#平滑重启
  • 安装wget
  • 下载niginx
  • 解压nginx压缩包
  • 进行安装到指定路径
  • 编译安装
  • 错误处理
  • 出现以上错误,解决办法如下
  • 第一种就是—使用指定nginx.conf文件的方式重启nginx,基本可以解决大部分人的问题。但是这里对于我的情况是不可用的
/lnmp/nginx/sbin/nginx -c /lnmp/nginx/conf/nginx.conf

虚拟机上centos系统安装LNMP,windows端访问其PHP文件_nginx_04


+ 第二种就是重启机器之后,直接运行nginx命令,就可以看到生成了nginx.pid文件了

#nginx配置位置:/lnmp/nginx/conf/nginx.conf
#站点目录位置:/lnmp/nginx/html

#搭好后,本地无法访问
#关闭防火墙
sudo systemctl stop firewalld
#允许访问80端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

#此时就可以访问了

安装PHP

cd /lnmp

wget https://www.php.net/distributions/php-7.3.5.tar.gz
tar xvf php-7.3.5.tar.gz
cd php-7.3.5

./configure --prefix=/lnmp/php7 --enable-fpm --with-mysqli --with-curl --with-pdo_mysql --with-pdo_sqlite --enable-mysqlnd --enable-mbstring --with-gd

make && make install

cp php.ini-development /lnmp/php7/lib/php.ini

cd /lnmp/php7/etc/
#重命名
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

cp /lnmp/php7/sbin/php-fpm /usr/bin/

#修改配置文件php.ini,(/lnmp/php7/lib/php.ini)
cgi.fix_pathinfo=0

php-fpm		#开启
killall php-fpm		#关闭
  • 以上按步骤操作既可以,出了这一步
    -
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_linux_05


如果出现: -bash: killall: command not found,如下操作即可

  1. centos下
yum install psmisc -y
  1. debian、ubuntu系统下
apt-get install psmisc

安装mysql

cd /lnmp

#下载
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

#解压
tar -Jxf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

#移到lnmp目录,重命名mysql
mv mysql-8.0.18-linux-glibc2.12-x86_64 /lnmp/mysql

cd /lnmp/mysql
mkdir data  #用于存放数据

#创建mysql用户组和mysql用户
groupadd mysql    
useradd -g mysql mysql

#修改mysql目录权限
chown -R mysql.mysql /lnmp/mysql/

#初始化
bin/mysqld --initialize --user=mysql --basedir=/lnmp/mysql --datadir=/lnmp/mysql/data
#初始化后,出现一大串,最后面的为临时密码
 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rrh1&m+&:wQq



#修改配置文件
vi  /etc/my.cnf

###
[mysqld]
basedir = /lnmp/mysql
datadir = /lnmp/mysql/data
socket = /tmp/mysql/mysql.sock
character-set-server=utf8
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#skip-grant-tables
[client]
socket = /tmp/mysql/mysql.sock
default-character-set=utf8
###


#新建&修改目录权限
mkdir -p /tmp/mysql/
chmod -R 777 /tmp/mysql
chown -R mysql:mysql /tmp/mysql/

#配置mysql服务
cp -a ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld

#配置全局环境变量
vi /etc/profile

#profile文件中添加
###
export PATH=$PATH:/lnmp/mysql/bin:/lnmp/mysql/lib
export PATH
###

#让环境变量设置立即生效
source /etc/profile

#启动mysql
service mysqld start

#登录mysql
mysql -uroot -pmhr#qEJO+7?h

#修改密码
alter user 'root'@'localhost' identified by 'root';
  • 启动mysql的时候回报错,如下解决
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_linux_06


  • 登录数据库,无法登录
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_nginx_07

  • 在【mysqld】模块添加:
skip-grant-tables
  • 配置生效
service mysqld restart 	#重启mysql服务
  • 旧密码置为空
mysql -u root -p    #提示输入密码时直接敲回车。
use mysql	#选择数据库
#将密码置空
update user set authentication_string = '' where user = 'root';
quit	#退出
  • 去除免密登录
skip-grant-tables	#删掉步骤1的语句
service mysqld restart		#重启服务
  • 修改密码
mysql -u root -p  #提示输入密码时直接敲回车,刚刚已经将密码置空了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc123@xxx';//'abc123@xxx'  #密码形式过于简单则会报错
  • 设置免密登陆之后,重启,再登录会报错,这是文件里换行导致的,直接注释即可
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_centos_08


  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_linux_09


  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_centos_10

  • 再进行登录,输入密码的位置直接Enter,就进入了mysql
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_centos_11

  • 旧的密码置为空
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_ssh_12

  • 不要忘记把之前的跳过密码登那行删除或者注释,再重启mysql

虚拟机上centos系统安装LNMP,windows端访问其PHP文件_服务器_13


虚拟机上centos系统安装LNMP,windows端访问其PHP文件_centos_14

查看nginx默认的网页

  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_服务器_15

  • windows输入ip地址访问nginx,这里访问的默认的index.html文件
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_服务器_16


访问PHP文件

  • 首先开启php-fpm
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_centos_17


  • 设置nginx.conf,加入一个server
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_服务器_18


  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_服务器_19


  • host文件加一个域名,host位置:C:\Windows\System32\drivers\etc\hosts
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_nginx_20


  • 创建项目目录和index.php文件
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_服务器_21


虚拟机上centos系统安装LNMP,windows端访问其PHP文件_ssh_22

  • 重启nginx
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_nginx_23


  • 查看页面
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_linux_24


  • 以上完成,再更改index.php内容查看效果
  • 虚拟机上centos系统安装LNMP,windows端访问其PHP文件_服务器_25


  • 这里就大功告成!




阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6