centos7搭建LNMP环境

       最近一时兴起弄了个虚拟机来玩,磕磕碰碰终于搭好了环境,分享一下自己的搭建环境方法,源码搭建还是很麻烦的,很多人的环境不同可能会遇到各种问题,这里分享两种方式,第一种源码安装, 文章结尾有个懒人一键安装版,嫌源码麻烦的朋友可以直接跳到文章末尾。

我们先说源码安装:走你!

第一步 安装NGINX

安装包

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 gcc gcc++ autoconf

 

去官网下载源码包

 

然后吧文件穿上服务器   或者 复制下载链接  直接 wget url

tar -zxvf  ....tar.gz  解压

然后解压 cd 进去

./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/config/nginx.conf --error-log-path=/usr/local/nginx/logs/error.log --pid-path=/usr/local/nginx/logs/nginx.pid --http-log-path=/usr/local/nginx/logs/access.log

 

--prefix nginx安装路径

--conf-path 配置文件存放路径

--sbin-path 路径 ,之后用于启动nginx

。。。。等等

 

configure 执行完后

执行

make && make install

到这里就安装完成了

然后配置nginx服务

vi /lib/systemd/system/nginx.service

创建这个文件加入以下内容 ( 因为是源码安装系统不会自动创建)

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 

设置开机自启动

systemctl enable nginx.service

 

编辑nginx.conf

开启错误日志 和 pid

log_format 是记录http 请求信息 存到access.log里面 格式如红框里面

 

然后把nginx 加入环境变量

vi ~/.bashrc

在后面加一行这个  我这里面是配好了的每个路径之间用 : 隔开

 

OK nginx 装好了 !!

 

第二步 安装 mysql5.7

先卸载mariadb mysql

rpm -qa | grep mariadb

 

cat /etc/redhat-release 可以查看自己的linux版本

 

正式安装

先下载rpm 包

wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

然后执行安装

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

安装完之后 这里多了两个文件,第二个文件记录了mysql 源信息

 

然后yum安装mysql

yum install mysql-community-server

安装完成!

 

启动服务

systemctl start mysqld

开机自启动

systemctl enable mysqld

systemctl daemon-reload

 

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

grep 'temporary password' /var/log/mysqld.log

 

然后用上图密码进入mysql   mysql -uroot -p

修改密码

set password for 'root'@'localhost'=password('123456');

 

set global validate_password_policy=0;

 

set global validate_password_length=1;

 

我设置一个长度为6密码

set password for 'root'@'localhost'=password('123456');  这样自己用起来很方便

 

然后防火墙开放3306端口

退出mysql ; 执行下面两条命令

firewall-cmd --zone=public --add-port=3306/tcp --permanent

systemctl restart firewalld.service

然后开放授权root用户开发授权

重新连接mysql  mysql -uroot -p...

给root 用户授权 当前你也可以选择创建其他用户,这里不多说

GRANT ALL privileges ON *.* TO 'root'@'%' IDENTIFIED BY '123456'  WITH GRANT OPTION;

接下远程连接试试

OK ,mysql 搞定!

 

第三步 安装PHP7

老套路

去官网 php.net 下载源码包

然后上传 源码包

tar -zxvf php....tar.gz 解压

 

装完之后开始安装PHP

然后

cd php-7.2.9

./configure --prefix=/usr/local/php7 --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --enable-pdo --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache

 

/usr/local/php7  这是我选择的安装路径,自己喜欢,--enable-fpm --enable-pdo 启用PHP-FPM 开启PDO扩展

configure 执行完之后 make && make install

php启动文件是放在bin 目录里面的 ,吧php加入全局

vi ~/.bashrc 在后面加入

 

 

 

 

echo $PATH  可以查看自己的环境变量

完成后 php-v 查看  查看版本

这时候 php 已经装上了 但是有些配置要做

php -i | grep php.ini  查看php.ini 文件位置只想路径

 

然后在源码包里面找到  php.ini-development   文件

cp到安装目录里面的 此目录里面去 改名成php.ini

cp /home/php-7.2.9/php.ini-development /usr/local/php7/lib/php.ini

再次查看

 

然后简单配置一下

cd /usr/local/php7/etc

cp php-fpm.conf.default php-fpm.conf

vi php-fpm.conf   这里根据你自己的安装路径来

保存并退出

cd /php-fpm.d

cp www.conf.default www.conf

 

然后编辑   vi www.conf

保存退出即可

最后一步;

最后把php-fpm 加入systemctl 服务

cd /usr/lib/systemd/system

vi php-fpm.service

加入以下内容  注意红色部分自己的安装路径

 

[Unit]
Description=php-fpm
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/usr/local/php7/var/run/php-fpm.pid
ExecStart=/usr/local/php7/sbin/php-fpm -R
ExecReload=/bin/kill -USR2 MAINPIDExecStop=/bin/kill?INTMAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 

保存并退出

systemctl daemon-reload 

systemctl enable php-fpm.service 开机启动

systemctl start php-fpom

基本环境大功告成!!(PS:搭建项目的时候记得让nginx  支持php-fpm)

有什么不对的地方,或者建议欢迎大家提出来,:) 

最后懒人一键安装,请看大牛写的 脚本

https://oneinstack.com/install/

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值