【复习一下】虚拟机安装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
安装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
+ 第二种就是重启机器之后,直接运行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 #关闭
- 以上按步骤操作既可以,出了这一步
-
如果出现: -bash: killall: command not found,如下操作即可
- centos下
yum install psmisc -y
- 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的时候回报错,如下解决
- 登录数据库,无法登录
- 在【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' #密码形式过于简单则会报错
- 设置免密登陆之后,重启,再登录会报错,这是文件里换行导致的,直接注释即可
- 再进行登录,输入密码的位置直接Enter,就进入了mysql
- 旧的密码置为空
不要忘记把之前的跳过密码登那行删除或者注释,再重启mysql
查看nginx默认的网页
- windows输入ip地址访问nginx,这里访问的默认的index.html文件
访问PHP文件
- 首先开启php-fpm
- 设置nginx.conf,加入一个server
- host文件加一个域名,host位置:C:\Windows\System32\drivers\etc\hosts
- 创建项目目录和index.php文件
- 重启nginx
- 查看页面
- 以上完成,再更改index.php内容查看效果
- 这里就大功告成!