linux下详细配置lnmp环境

安装mysql
解压 tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
在这里插入图片描述在移动并重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
在这里插入图片描述
创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录
注意:要创建mysql群 添加mysql成员
groupadd mysql useradd -g mysql mysql
chown mysql:mysql -R /data/mysql #赋予权限
在这里插入图片描述
配置my.cnf
vim /etc/my.cnf
内容如下
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
在这里插入图片描述

初始化数据库
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看密码
cat /data/mysql/mysql.err
在这里插入图片描述启动mysql ,并更改root密码
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动
service mysql start
ps -ef|grep mysql

修改密码
./mysql -u root -p #bin目录下
执行下面三步操作
SET PASSWORD = PASSWORD(‘123456’);
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
允许远程链接
use mysql #访问mysql库
update user set host = ‘%’ where user = ‘root’; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新

安装nginx
安装前
1.查看是否安装wget
rpm -qa wget
否则安装
yum install wget
查看是否安装编译器
rpm -qa gcc
否则安装
yum install gcc gcc-c++
安装Nginx
nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法:

yum -y install pcre pcre-devel

nginx的各种模块中需要使用gzip压缩:

yum -y install zlib zlib-devel

安全套接字层密码库:

yum -y install openssl openssl-devel

  1. 下载nginx包并解压(到/usr/local/src目录中)

cd /usr/local/src

wget http://nginx.org/download/nginx-1.12.2.tar.gz

tar -zxvf nginx-1.12.2.tar.gz

  1. 编译安装(到/usr/local/nginx目录中)
    cd nginx-1.12.2
    ./configure --prefix=/usr/local/nginx
    make
    make install

  2. 开启nginx服务:

cd /usr/local/nginx/sbin
./nginx

查看nginx是否启动成功:

ps aux | grep nginx
暂时关闭防火墙
systemctl stop firewalld
service iptables stop

安装php

  1. 安装php依赖包

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
若提示yum中没有可用的软件包libmcrypt和libmcrypt-devel,则需要手动编译安装,可以先在windows宿主主机中前往libmcrypt官网下载然后使用rz指令将包上传至centos7进行编译安装。我下载的包为libmcrypt-2.5.8.tar.gz:

tar -zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure --prefix=/usr/local/libmcrypt

make

make install

  1. 下载php包并解压

cd /usr/local/src
在windows上前往php官网下载php-7.2.0包,然后使用rz指令将下载好的php安装包上传到centos7上,解压:

tar -zxvf php-7.2.0.tar.gz

  1. 编译安装(到/usr/local/php目录)

cd php-7.2.0

./configure --prefix=/usr/local/php --disable-fileinfo --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear --enable-bcmath

(注意:–with-mcrypt参数指定的是libmcrypt的安装目录。Php7不再使用mysql的库来支持mysql的连接,而是启用了mysqlnd来支持,所以php7的编译已经不再使用–with-mysql参数指定mysql的安装位置了,若想支持mysql,需要设置–enable-mysqlnd、–with-mysqli和–with-pdo-mysql=mysqlnd参数,–with-mysql-sock指定的是编译mysql时-DMYSQL_UNIX_ADDR参数指定的文件)
make(此过程需花费大概20分钟)
make install

  1. 将php包解压目录中的配置文件放置到正确位置(configure命令中的–with-config-file-path设置的位置)

cp php.ini-development /etc/php.ini
6. 配置nginx支持php

vim /usr/local/nginx/conf/nginx.conf
在这里插入图片描述

  1. 启动php-fpm:
    //解决启动报错
    在这里插入图片描述
    配置文件没有准备好
    cd /usr/local/php/etc
    cp www.conf.default www.conf
    在这里插入图片描述
    cd /usr/local/php/etc/php-fpm.d/
    cp www.conf.default www.conf
    /usr/local/php/sbin/php-fpm -t

systemctl start php-fpm.service

查看是否启动成功:

ps aux | grep php-fpm
至此lnmp安装成功

部署tp项目到lnmp中
修改nginx.conf配置文件增加如下内容:
(在一个http段里边可以增加多个server段,代表不同虚拟主机项目)
server{
listen 80;
server_name nginx.php68.com;
index index.php; //默认索引文件
root /var/www/php68/public; //虚拟主机项目运行目录
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
}
}
nginx不支持pathinfo
server{
listen 80;
server_name nginx.php68.com;
index index.php;
root /var/www/php68/public;
location ~ .php(.*)$ { #收集.php域名后边的pathinfo部分
fastcgi_pass 127.0.0.1:9000;
fastcgi_param PATH_INFO $1; #把收集到的“请求参数”部分赋给PATH_INFO变量
include fastcgi.conf;
}
}
隐藏文件入口
location / {
if (!-e KaTeX parse error: Expected '}', got 'EOF' at end of input: … rewrite ^/(.*) /index.php/$1 last;
}
}
至此,lnmp部署以及tp项目部署全部完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值