全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)

企业最常用的两种web架构就是LAMP和LNMP,今天就用编译的方式介绍一下LNMP的安装步骤,使用wordpress的CMS做网站的内容管理器

LAMP=Linux+Apache+Mysql+PHP

LNMP=Linux+Nginx+Mysql+PHP

分为4个步骤,分别是:安装nginx、安装mysql、安装php、安装Wordpress

系统环境:CentOS7.9,我使用的是华为云服务器,根据自己的实际情况即可,虚拟机也是可以的

建议大家使用我的安装路径,因为内容比较多,任何小插曲都有可能造成平台部署失败

安装包放在文章末尾了,自取

先试用这个脚本做个预测试,必须全部达标才能往下进行

vim cs.sh

粘贴脚本,然后sh cs.sh运行

#!/bin/bash
#function:用户、网络、安全测试
#author:墨染-2022-10-7
if [ $USER != root ];then
echo "当前不是root用户,请切换至root用户再次运行脚本"
exit
fi
ping -c3 -i0.1 -W1 www.baidu.com &> /dev/null
if [ $? != 0 ];then
echo "当前无网络,请保证网络畅通再次运行脚本"
exit
else
echo "当前网络畅通,即将开始运行脚本"
fi
sleep 2
systemctl stop firewalld.service && systemctl disable firewalld.service            
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux    
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
setenforce 0
echo "防火墙和selinux高级权限管理已关闭"   

效果如下图即可

 1、编译安装nginx服务

安装依赖包
yum -y install  gcc-c++  && yum install -y pcre pcre-devel  &&  yum install -y zlib zlib-devel  && yum install -y openssl openssl-devel  
切换路径 
cd /usr/local/src
下载安装包
wget https://nginx.org/download/nginx-1.20.2.tar.gz

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第1张图片

解压
tar xvfz nginx-1.20.2.tar.gz
进入解压目录
cd nginx-1.20.2
编译
./configure --prefix=/usr/local/nginx
安装
make && make install    

编译成功界面,然后执行make && make install安装

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第2张图片

 安装成功界面,在任何情况下都可使用echo $?判断上条命令是否执行成功,如果输入结果不等于0,则说明命令执行失败;如果输入结果等于0,那就说明命令执行成功!

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第3张图片

 为了后期可以使用service或systemclt来管理nginx服务,建议将它注册为系统服务

如果你的安装路径不在/.usr/local/nginx下,相应的路径也要更改,根据自己的环境而定

注册为系统服务,直接复制粘贴在命令行即可
cat>>/lib/systemd/system/nginx.service<< EOF
[Unit]
Description=nginx
After=network.target

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

[Install]
WantedBy=multi-user.target
EOF

效果如下图则说明nginx服务启动成功,也可以使用service来管理,后期维护就方便多了

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第4张图片

 在web界面测试一下,在浏览器输入查询出来的IP地址,因为我的云服务器在平台上做了DNS解析,所以直接输入域名即可;能看到Nginx就说明服务已经在正常运行了

ifconfig  | grep inet |cut -d " " -f 10 | head -1

 全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第5张图片

 2、编译安装Mysql数据库,我使用的是mysql-5.5.62这个版本

安装依赖包
yum install -y  openssl*  ncurses-devel* libtirpc* rpcgen* gcc* make gcc-c++ bison-devel ncurses-devel perl openssl-devel autoconf cmake* lrzsz
创建mysql用户
useradd -s /sbin/nologin -M mysql
切换路径上传安装包
cd /usr/local/src 
rz     #使用该命令上传安装包

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第6张图片        

解压
tar xvfz mysql-5.5.62.tar.gz 

切换路径
[root@web-server src]# cd mysql-5.5.62
编译
cmake . \
-DCMAKE\_INSTALL\_PREFIX=/usr/local/mysql \
-DMYSQL\_DATADIR=/usr/local/mysql/data/ \
-DMYSQL\_UNIX\_ADDR=/usr/local/mysql/mysql.sock \
-DWITH\_INNOBASE\_STORAGE\_ENGINE=1 \
-DWITH\_MYISAM\_STORAGE\_ENGINE=1  \
-DENABLED\_LOCAL\_INFILE=1 \
-DEXTRA\_CHARSETS=all \
-DDEFAULT\_CHARSET=utf8 \
-DDEFAULT\_COLLATION=utf8\_general\_ci \
-DMYSQL\_USER=mysql \
-DWITH\_DEBUG=0 \
-DWITH\_EMBEDDED\_SERVER=1 \
-DMYSQL\_USER=mysql

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第7张图片

 效果如下图

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第8张图片

安装
make && make install 

等这个过程100%就OK了 ,mysql-5.5.62这个版本安装还是很快的七八分钟左右就能搞定,5.7就要四五十分钟了全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第9张图片

 效果如下图即为安装完成

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第10张图片

创建目录存放日志
mkdir /usr/local/mysql/logs
递归修改属主和属组
chown mysql:mysql -R /usr/local/mysql
拷贝系统文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
修改权限
chmod 755 /etc/init.d/mysql

修改mysql配置文件
cat > /etc/my.cnf << EOF
[mysqld]
datadir=/usr/local/mysql/data         
socket=/usr/local/mysql/mysql.sock  
server-id=1
log-bin=/usr/local/mysql/logs/mysql-bin
EOF

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第11张图片

更改环境变量
sed -i 's/PATH=\$PATH:\$HOME\/bin/PATH=\$PATH:\$HOME\/bin:\/usr\/local\/mysql\/bin:\/usr\/local\/mysql\/lib/g'  /root/.bash_profile
加载环境变量
source /root/.bash_profile  &&  source /root/.bash_profile
创建软链接
ln -s /usr/local/mysql/bin/mysql* /usr/bin 

切换路径
cd /usr/local/mysql/scripts
初始化数据库
./mysql_install_db  \
--defaults-file=/etc/my.cnf \
--datadir=/usr/local/mysql/data/ \
--user=mysql \
--basedir=/usr/local/mysql 

如下图即为成功

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第12张图片

查看mysql状态
service mysql status
启动mysql服务
service mysql start
进入mysql数据库
mysql -u root -p 没有密码直接回车

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第13张图片

能够看到3306端口并正常进入数据库就OK了

3、编译部署PHP 

安装依赖包
yum install -y gcc gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel* libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel gd net-snmp-devel* libtool sqlite-devel* make expat-devel autoconf automake libxml* sqlite*  bzip2-devel bzip2  bzip2-libs  libcurl* net*

yum install -y https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-6.9.7.1-1.el7.remi.x86_64.rpm

yum install -y https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-devel-6.9.7.1-1.el7.remi.x86_64.rpm
切换路径
cd /usr/local/src
rz    #上传PHP安装包

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第14张图片

解压
tar xvfz php-7.4.30.tar.gz
进入目录
cd php-7.4.30
编译
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli=mysqlnd --enable-pdo \
--with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/ --enable-fpm --with-fpm-user=web --with-fpm-group=web --with-pcre-regex \
--with-zlib --with-bz2 --enable-calendar --disable-phar --with-curl --enable-dba --with-libxml-dir --enable-ftp --with-gd --with-jpeg-dir \
--with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-jis-conv --with-mhash --enable-mbstring --enable-opcache=yes --enable-pcntl \
--enable-xml --disable-rpath --enable-shmop --enable-sockets --enable-zip --enable-bcmath --with-snmp --disable-ipv6 --with-gettext \
--disable-rpath --disable-debug --enable-embedded-mysqli --with-mysql-sock=/usr/local/mysql/

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第15张图片

如下图即为编译成功

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第16张图片

安装
make && make install

这个过程可能要十几分钟,耐心等待

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第17张图片

出现这个界面说明PHP编译安装成功

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第18张图片

 将PHP注册为系统服务

cp /usr/local/src/php-7.4.30/php.ini-production  /usr/local/php/etc/php.ini
cp /usr/local/src/php-7.4.30/sapi/fpm/php-fpm.service  /etc/systemd/system/
systemctl daemon-reload 
service php-fpm status

可以用service管理即可,不用开启php服务全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第19张图片

 4、配置;所有的服务都安装完成后,最麻烦最棘手的就是配置,要保证服务之间能够互相转发访问请求

创建运行LNMP平台的用户
useradd web
无论是nginx、php还是mysql,所有的user和group都是同一个用户

1)先配置nginx服务

创建目录,存放子配置文件
mkdir /usr/local/nginx/conf/conf.d

主配置文件:nginx.conf

 user web   web;           # nginx的用户

 include conf.d/*.conf;     #子配置文件的路径

覆盖nginx配置文件
cat > /usr/local/nginx/conf/nginx.conf << EOF
user  web web;
worker_processes  2;
error_log  logs/error.log  notice;
pid        logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
    use epoll;
    worker_connections  10240;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 8 64k;
    client_max_body_size 100m;
    limit_conn_zone \$binary_remote_addr zone=one:32k;
    server_tokens   off;
    sendfile        on;
    tcp_nopush     on;

    keepalive_timeout  60;
    tcp_nodelay on;

    gzip  on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascript text/css application/xml;
    gzip_vary on;

    log_format  main  '\$remote_addr - \$remote_user [\$time_local] "\$request" '
                      '\$status \$body_bytes_sent "\$http_referer" '
                      '"\$http_user_agent" "\$http_x_forwarded_for"';
    #include default.conf;
    include conf.d/*.conf;
}
EOF

子配置文件的站点文件配置:www.conf

listen    80     #Nginx监听端口

root /usr/local/nginx/html/wordpress;       #CMS的路径

fastcgi_pass  127.0.0.1:9000;                   #和PHP的保持一样,9000端口为PHP的监听端口

创建nginx站点文件
cat > /usr/local/nginx/conf/conf.d/www.conf << EOF
server {
        listen       80;
        root /usr/local/nginx/html/wordpress;
        server_name localhost;
        index  index.html index.php index.htm;
        error_page  400 /errpage/400.html;
        error_page  403 /errpage/403.html;
        error_page  404 /errpage/404.html;
        error_page  503 /errpage/503.html;
        location ~ \.php(.*)$ {
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  \$DOCUMENT_ROOT$fastcgi_script_name;
                fastcgi_param PATH_INFO \$2;
                include fastcgi.conf;
        }
        location ~ /\.ht {
                deny  all;
        }
        location / {
                 try_files \$uri \$uri/ /?\$args;
        }
}
EOF
检查配置文件
/usr/local/nginx/sbin/nginx -t                    

如下图配置文件没有问题

2)配置PHP

递归修改php目录的属组和属主
chown web:web /usr/local/php -R
创建php的日志目录
mkdir /var/log/php
创建php的错误日志文件(不创建也可以,配置文件指定了,服务启动后会自动创建)
touch /var/log/php/php-fpm.log

主配置文件:php-fpm.conf

error_log = /var/log/php/php-fpm.log                    #错误日志路径

include = /usr/local/php/etc/php-fpm.d/*.conf    #子配置文件路径

cat > /usr/local/php/etc/php-fpm.conf <

 子配置文件:www.conf

listen = 127.0.0.1:9000        #php监听端口要和前面nginx子配置文件配置对应

cat > /usr/local/php/etc/php-fpm.d/www.conf <
检查配置文件
/usr/local/php/sbin/php-fpm -t

3)配置Mysql数据库

创建数据库,名称为LNMPDB
/usr/local/mysql/bin/mysql -uroot -e "create database LNMPDB;"
创建用户shu,密码为gdpl168.cn,当用户从web-server主机登录时LNMPDB数据库赋予该用户所有权
/usr/local/mysql/bin/mysql -uroot -e "grant all on LNMPDB.* TO 'shu'@'web-server' IDENTIFIED BY 'gdpl168.cn';"
授权可以从localhost主机登录
/usr/local/mysql/bin/mysql -uroot -e "grant all on LNMPDB.* TO 'shu'@'localhost' IDENTIFIED BY 'gdpl168.cn';"
刷新权限
/usr/local/mysql/bin/mysql -uroot -e "FLUSH PRIVILEGES;"

 需使用刚才创建的用户和密码登录数据库,并查看是否有LNMPDB数据库

如下图,说明创建成功

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第20张图片

4)配置Wordpress内容管理器

切换目录
cd /usr/local/nginx/html
rm -rf ./*         #删除默认的网站文件
rz     上传wordpress安装包

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第21张图片

解压
tar xvfz wordpress-5.9.1-zh_CN.tar.gz
递归修改属组和属主为root
chown root:root -R wordpress

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第22张图片

更改属组和属主
chown web:web wp-admin/ -R
chown web:web wp-content/ -R
chown web:web wp-includes/ -R  
mv wp-config-sample.php wp-config.php 

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第23张图片

编辑配置文件
vim /usr/local/nginx/html/wordpress/wp-config.php 

如下图,填写数据库的名称,用户和密码,主机名信息

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第24张图片

 然后重启服务 全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第25张图片

 最后在网页测试访问,输入测试nginx时的IP地址

弹出安装wordpress的界面为正常

这些信息自己填,用户名什么的都可以自定义,然后点击安装wordpress

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第26张图片

 安装完成界面

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第27张图片

 登录界面,用户名和密码为自己刚定义的;单击登录即可

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第28张图片

 这个便是后台的管理地址

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第29张图片

 只输入IP看一下默认的界面是什么样子的

这个是默认的主题,可以在后台更换主题

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第30张图片

 这些主题都可以更换

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第31张图片

 其他更多的功能自己去研究吧

 希望本篇文章可以帮助到你

有任何问题欢迎大家冒泡反馈!

安装包永久有效

链接:https://pan.baidu.com/s/1pwlUv5vdaiKQbY3E4h9Uhg 
提取码:AK47

一键部署脚本永久有效

https://download.csdn.net/download/m0_64423407/86739287

更多好货

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第32张图片

全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)_第33张图片 

 

你可能感兴趣的:(php,mysql,服务器,nginx,linux)