LNMP搭建
L指Linux,
N指Nginx,
M一般指MySQL,也可以指MariaDB,
P一般指PHP,也可以指Perl或Python
1.搭建LNMP准备
1.1关闭selinux,selinux是Linux 内核模块,也是 Linux 的一个安全子系统
setenforce 0 #临时关闭selinux getenforce #查看临时关闭情况
#永久关闭,重启电脑 sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
1.2关闭防火墙
systemctl stop firewalld systemctl disable firewalld
1.3补充:
如果开机启用nginx提示如下:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
这是因为80端口被占用
使用命令:fuser -k 80/tcp 解除占用
2.搭建LNMP架构
2.1使用官方仓库安装Nginx
-
安装前:yum revmove nginx -y ##卸载旧版本nginx
-
调整yum源优先级
-
rpm -qa yum-plugin-priorities
-
yum install yum-plugin-priorities -y
-
-
配置yum源(目标从nginx官方下载如果不配置上面的优先级,默认从centos的官方下载.)
-
vim /etc/yum.repos.d/nginx.repo
-
复制:
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 priority=1
-
yum install nginx -y #从nginx官方下载. nginx -v查看nginx版本号 nginx -t 检查有没有语法错误
-
配置Nginx进程运行的用户
-
useradd -u1111 www -s /sbin/nologin -M
-
egrep "^user" /etc/nginx/nginx.conf
-
sed -i '/^user/c user www;' /etc/nginx/nginx.conf
-
egrep "^user" /etc/nginx/nginx.conf
-
-
systemctl start nginx #启动nginx服务
-
systemctl enable nginx #开机自启动
-
netstat -lntup|grep nginx #查看nginx服务是否启动
-
curl 127.0.0.1/index.html #测试nginx
-
2.2使用第三方扩展源安装php7.1
-
配置PHP安装源
-
yum install epel-release -y
-
rpm -ql epel-release
-
wget https://mirror.webtatic.com/yum/el7/webtatic-release.rpm --no-check-certificate rpm -Uvh webtatic-release.rpm
-
rpm -ql webtatic-release-7-3
-
-
安装PHP及相关插件
-
卸载旧版本的php
-
rpm -e $(rpm -qa|grep php) rpm -qa|grep php
-
-
安装PHP及相关插件(网络下载安装)
-
yum install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd -y yum install php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd -y yum install php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb -y pwd
-
-
安装php7版本的软件(本地安装)
-
tar xf php.zip
-
yum localinstall php/*.rpm -y
-
-
配置php-fpm用户与Nginx的运行用户保持一致
-
sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf
-
sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf
-
egrep "^user|^group" /etc/php-fpm.d/www.conf #查看已配置的权限
-
-
启动php-fpm,并将其加入开机自启
-
systemctl start php-fpm #启动php
-
systemctl enable php-fpm #开机启动php
-
netstat -lntup|grep php-fpm #查看是否启动php
-
-
2.3安装Mariadb/MySQL数据库
-
安装
yum install mariadb-server mariadb -y
-
设置启动
-
systemctl start mariadb #启动Mariadb
-
systemctl enable mariadb #开机启动Mariadb
-
netstat -lntup|grep mysql #查看是否启动Mariadb
-
-
mysql #打开数据库
-
给Mariadb配置登陆密码,并是新密码进行登录数据库
-
mysqladmin password 'oldboy123' #设置密码
-
mysql -uroot -poldboy123 #登录
-
3.LNMP架构配置及整体测试实战----搭建博客
3.1配置虚拟主机配置文件
-
cd /etc/nginx/conf.d
-
gzip default.conf
-
vim 01_blog.etiantian.org.conf
-
server { server_name blog.etiantian.org; listen 80; root /data/blog; index index.php index.html; location ~ \.php$ { root /data/blog; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
-
-
nginx -t
-
systemctl reload nginx
3.2创建站点目录
-
创建授权blog目录
-
mkdir -p /data/blog
-
chown -R www.www /data/blog
-
-
测试PHP服务
-
cd /data/blog/
-
cat >test.php<<EOF <?php phpinfo(); ?> EOF
-
cat test.php
<?php phpinfo(); ?>
-
-
测试php连接mysql
-
vim /data/blog/test_mysql.php
<?php $servername = "localhost"; $username = "root"; $password = "oldboy123"; // 创建连接 $conn = mysqli_connect($servername, $username, $password); // 检测连接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "php连接MySQL数据库成功,oldboy安全8期"; ?>
-
-
测试
-
index.html #验证nginx虚拟主机静态是否成功.
echo oldboy >index.html
curl 10.0.0.7
-
test.php #访问.php的程序,看看nginx是否后抛给php,是否解析成功.
curl 10.0.0.7/test.php
-
test_mysql.php #访问.php的程序,看看nginx是否后抛给php,是否解析成功.是否连接数据库成功.
curl 10.0.0.7/test_mysql.php
-
-
域名测试
-
windows中的hosts
路径:C:\Windows\System32\drivers\etc\hosts 添加内容:10.0.0.7 blog.etiantian.org
-
linux中的hosts
路径:vim /etc/hosts
添加内容:10.0.0.7 blog.etiantian.org
-
-
安装wordpress软件
-
cd /data/blog #提前上传或下载latest-zh_CN.zip
-
unzip latest-zh_CN.zip #解压
-
mv wordpress/* #将wordpress文件夹下的文件移动到/data/blog中
-
chown -R www.www /data/blog #授权
-
-
域名访问和地址访问都可以了
-
创建是数据库
-
方法1:浏览器访问blog.etiantian.org
-
数据库:test
-
用户:root
-
密码:oldboy123
-
主机:localhost
-
-
方法2:Linux访问数据库
-
创建数据库和用户: [root@oldboy blog]# mysql -uroot -poldboy123 #登录
-
MariaDB [(none)]> create database blog; #创建库
-
MariaDB [(none)]> grant all on blog.* to blog@'localhost' identified by 'oldboy123'; 授权库
-
MariaDB [(none)]> flush privileges; #写入存储
- 数据库:blog
- 用户:blog
- 密码:oldboy123
- 主机:localhost
-
-