LNMP架构安装

1.nginx 1.20的版本开始,官方库和epel的大版本一样,小版本号epel更新一些。如果想要安装官方的,建议直接在官方下载对应的软件包

yum install -y http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.1-1.el7.ngx.x86_64.rpm

1)安装

将以及准备好的软件包mysql57.35.tar.gz php72.tar.gz通过xshell上传至web01

tar xf mysql57.tar.gz
tar xf php72.tar.gz
yum localinstall -y nginx* mysql57/* php72/*

2)编辑配置文件

mv /etc/nginx/conf.d/default.conf{,.bak}
vim /etc/nginx/conf.d/www.conf
server {
	listen 80;
	server_name www.ly.com;
	root /web/www;
	index index.php index.html;
	
  	location ~ \.php$ {
      	fastcgi_pass   127.0.0.1:9000;
      	fastcgi_index  index.php;
      	#$document_root就是root的值,$fastcgi_script_name就是访问的uri
      	fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
      	#fastcgi协议的参数
      	include        fastcgi_params;
    }
}

3)创建站点目录和索引页

mkdir -p /web/www/
vim /web/www/index.php
<?php
    phpinfo();
?>

4)启动nginx和php-fpm

systemctl start nginx php-fpm
systemctl enable nginx php-fpm

查看端口是否侦听
lsof -i:9000
lsof -i:80

5)客户端浏览器访问http://www.ly.com,如果能访问到正常php信息页面,表示LNP部署完成(记得修改hosts文件)

6)部署kaoshi.zip页面实现上传的效果
a.通过xshell上传kaoshi.zip
b.释放kaoshi.zip至web站点目录下

unzip -d /web/www/upload kaoshi.zip 


c.查看nginx的www.conf,是否有支持index.html的语句

vim /etc/nginx/conf.d/www.conf
...
    index index.php index.html;
...


d.重启nginx服务,通过访问http://www.tf.com/upload,上传文件,页面显示成功,实际并没成功
e.修改目录归属,让nginx的程序用户可以具有写权限

chown -R nginx.nginx /web/www/upload


f.再次上传,页面显示成功,实际还是没有成功,修改php-fpm的程序用户,和nginx一致
 

第一种方法:
sed -i '/^user/c user = nginx' /etc/php-fpm.d/www.conf
sed -i '/^group/c group = nginx' /etc/php-fpm.d/www.conf

第二种方法:
sed -ri '/^(user|group)/s#(.*)= apache#\1= nginx#' /etc/php-fpm.d/www.conf

第三种方法:
sed -i 's#apache#nginx#' /etc/php-fpm.d/www.conf

g.重启php-fpm,再次上传,成功

systemctl restart php-fpm

h.上传一个大文件,报错 413 Request Entity Too Large,说明默认LNP上传文件大小是有限制的

nginx+php实现上传文件大小限制的配置项如下:
1)nginx的配置项,可以在http{},server{},location{},默认1m

client_max_body_size 200m;


2)修改php的配置文件

vim /etc/php.ini
#文件上传功能,默认开启
file_uploads = On
#上传最大文件大小,默认2M
upload_max_filesize = 200M
#文件最大尺寸,默认8M
post_max_size = 200M
#一个请求可以上传的最大文件数  ,默认20
max_file_uploads = 20

至此,LNP算部署完成

7)部署mysql5.7
安装略
a.启动mysql服务

systemctl start mysqld

b.修改管理员root的密码
 

两种方式:
第一种:登录到mysql后,用alter语句修改
mysql -uroot -p$(awk '/temporary password/{print $NF}' /var/log/mysqld.log)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Tf123.com';

第二种:使用mysqladmin管理工具修改
mysqladmin -uroot -p$(awk '/temporary password/{print $NF}' /var/log/mysqld.log) password 'Tf123.com'
#如果root没有密码
mysqladmin -uroot  password 'ly123.com'

mysql和mysqladmin的语法

mysql -u'username' -p'password' -h'hostname'
mysql -uroot -pTf123.com -h10.0.0.51

mysqladmin -u'username' -p'oldpassword' password 'newpassword'

c.创建一个测试php连接mysql的页面
 

vim /web/www/mysqli.php
<?php
        $servername = "localhost";
        $username = "root";
        $password = "ly123.com";

        // 创建连接
        $conn = mysqli_connect($servername, $username, $password);

        // 检测连接
        if (!$conn) {
            die("Connection failed: " . mysqli_connect_error());
        }
        echo "连接成功";
?>

d.访问http://www.ly.com/mysqli.php
能看到连接成功,LNMP部署完成

8)部署LNMP应用-wordpress
a.下载wordpress源码包

wget https://cn.wordpress.org/wordpress-5.7-zh_CN.tar.gz
#下载最新版
wget https://cn.wordpress.org/latest-zh_CN.tar.gz

b.解压并移动到web站点目录,修改归属

tar xf wordpress-5.7-zh_CN.tar.gz
mv wordpress /web/blog
chown -R nginx.nginx /web/blog

c.添加blog的站点配置文件

cp /etc/nginx/conf.d/{www,blog}.conf
sed -i 's#www#blog#' /etc/nginx/conf.d/blog.conf

d.重载nginx

systemctl reload nginx

e.登录数据库创建wordpress所需库,并授权

mysql -uroot -p'ly123.com'
> create database wordpress;
> grant all on wordpress.* to 'webadm'@'localhost' identified by 'ly123.com';

f.浏览器访问http://blog.tf.com,根据提示安装该站点

9)部署LNMP应用-wecenter(知乎)
a.获取WeCenter源码包

b.解压并移动到web站点目录,修改归属

unzip WeCenter_3-2-2.zip
mv WeCenter322/ /web/zh
chown -R nginx.nginx /web/zh

c.添加blog的站点配置文件

cp /etc/nginx/conf.d/{www,zh}.conf
sed -i 's#www#zh#' /etc/nginx/conf.d/zh.conf

d.重载nginx

systemctl reload nginx

e.登录数据库创建wordpress所需库,并授权

mysql -uroot -p'ly123.com'
> create database zh;
> grant all on zh.* to 'webadm'@'localhost' identified by 'ly123.com';

f.浏览器访问http://zh.ly.com,根据提示安装该站点

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

排错思路

1.测语法nginx -t
2.systemctl start|restart nginx -> systemctl status nginx -l
目前的出现的错误:address already use  80端口被占用
ss -lntp | grep :80
killall 进程名
3.服务启动成功,访问出错,看日志errorlog
4.通过状态码
502 
503 
5.软件包安装成功
yum history 
yum history undo ID
6.检查域名解析
ping 域名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值