LNMP环境搭建
双十一又买了一台阿里云学生机,美滋滋,上一台用镜像把自己挖了好多坑.话不多说,先试试自己搭建LNMP环境~
先登录服务器
ssh root@IP地址
安装MySQL数据库
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
安装mysql之前要先禁用默认的mysql模块
yum module disable mysql
yum -y install mysql-community-server
查看 MySQL 运行状态
systemctl status mysqld
启动 MySQL
systemctl start mysqld
查看MySQL初始密码
grep "password" /var/log/mysqld.log
登录数据库
mysql -u root -p
SHOW DATABASES看一看
SHOW DATABASES;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
哦,提示我们要修改密码
修改MySQL默认密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
修改密码安全策略为低(只校验密码长度,至少8位)。
set global validate_password_policy=0;
授予root用户远程管理权限。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码';
好了,exit;
退出数据库
安装Nginx服务
- 安装Nginx运行所需要的插件。
a. 安装gcc。gcc是Linux下的编译器,它可以编译C、C++、Ada、Object C和Java等语言。
yum -y install gcc
b. 安装pcre。pcre是一个perl库,Nginx的HTTP模块使用pcre来解析正则表达式。
yum install -y pcre pcre-devel
c. 安装zlib。zlib是一个文件压缩和解压缩的库,Nginx使用zlib对HTTP数据包进行gzip压缩和解压。
yum install -y zlib zlib-devel
- 下载Nginx安装包。
wget http://nginx.org/download/nginx-1.17.10.tar.gz
- 解压Nginx安装包。
tar -zxvf nginx-1.17.10.tar.gz
- 编译安装Nginx。
cd nginx-1.17.10
./configure
make && make install
- 启动Nginx。
/usr/local/nginx/sbin/nginx -t
因为是阿里云的服务器,所以需要在安全组规则里开放对应的端口
在浏览器地址栏输入IP地址,已经出现如下安装启动成功的界面.
查询nginx主进程号ps -ef | grep nginx
,显示如下,说明nginx确实是已经开启了
root 29105 1 0 10:49 ? 00:00:00 nginx: master process sbin/nginx
nobody 29106 29105 0 10:49 ? 00:00:00 nginx: worker process
root 29147 1560 0 11:01 pts/0 00:00:00 grep --color=auto nginx
配置文件也是正确的
cd /usr/local/nginx/sbin./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
php安装
这里我是按照这篇教程弄的
- 安装依赖包
yum install libxml2-devel
yum install curl-devel
yum -y install libjpeg-devel
yum install -y gcc gcc-c++ libxml2 make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
下载安装包
wget https://www.php.net/distributions/php-7.1.31.tar.gz
这里国外的地址会非常慢,可以找 国内的地址下载解压
tar -zxvf php-7.1.31.tar.gz
- 检查当前的环境是否满足要安装软件的依赖关系
cd php-7.1.31
执行configure,如果php版本太高的话,可能会执行失败
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pear --disable-phar --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl
- 编译安装
make
make install
在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:
cp php.ini-production /usr/local/php/php.ini
设置让PHP错误信息打印在页面上
vi /usr/local/php/php.ini
将display_errors Off 改为On
display_errors = On
复制启动脚本
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
修改php-fpm配置文件:
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
去掉 pid = run/php-fpm.pid 前面的分号
cd php-fpm.d
cp www.conf.default www.conf
vi www.conf
修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组)
- 启动PHP
/etc/init.d/php-fpm start
#php-fpm启动命令
/etc/init.d/php-fpm stop
#php-fpm停止命令
/etc/init.d/php-fpm restart
#php-fpm重启命令
$ ps -ef | grep php 或者 ps -A | grep -i php #查看是否已经成功启动PHP
- 开机自启动
vi /etc/rc.local
将 /etc/init.d/php-fpm start 添加进去
chmod +x /etc/rc.d/rc.local
在nginx.conf文件中增加对PHP的支持
vim /usr/local/nginx/conf/nginx.conf
- 进入Vim编辑器后,按下i键进入编辑模式,在server的根路由配置中新增index.php。
location / {
root html;
index index.html index.htm index.php;
}
并在根路由下面新增以下配置。
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
location ~ .*\.php(\/.*)*$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
fastcgi_index index.php;
}
修改后的nginx.conf文件如下图所示:
-
检查PHP安装:
a. 在Nginx的网站根目录下创建PHP探针文件phpinfo.php。
echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/phpinfo.php
b. 访问PHP探针页面。在浏览器地址栏输入IP地址/phpinfo.php,出现如下页面表示PHP环境配置成功!