返回顶部
首页 > 资讯 > CMS >全编译部署LNMP平台+Wordpress内容管理器(附安装包和脚本)
  • 210
分享到

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

phpmysql服务器nginxlinux 2023-09-06 06:09:03 210人浏览 独家记忆
摘要

企业最常用的两种WEB架构就是LAMP和LNMP,今天就用编译的方式介绍一下LNMP的安装步骤,使用Wordpress的CMS做网站的内容管理器 LAMP=linux+Apache+Mysql+PHP LNMP=Linux+Nginx+my

企业最常用的两种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-7if [ $USER != root ];thenecho "当前不是root用户,请切换至root用户再次运行脚本"exitfiping -c3 -i0.1 -W1 www.baidu.com &> /dev/nullif [ $? != 0 ];thenecho "当前无网络,请保证网络畅通再次运行脚本"exitelseecho "当前网络畅通,即将开始运行脚本"fisleep 2systemctl stop firewalld.service && systemctl disable firewalld.service            sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux    sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/configsetenforce 0echo "防火墙和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

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

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

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

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

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

注册为系统服务,直接复制粘贴在命令行即可cat>>/lib/systemd/system/nginx.service<< EOF[Unit]Description=nginxAfter=network.target[Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s quitPrivateTmp=true[Install]WantedBy=multi-user.targetEOF

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

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

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

 

 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     #使用该命令上传安装包

        

解压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

 效果如下图

安装make && make install 

等这个过程100%就OK了 ,mysql-5.5.62这个版本安装还是很快的七八分钟左右就能搞定,5.7就要四五十分钟了

 效果如下图即为安装完成

创建目录存放日志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=1log-bin=/usr/local/mysql/logs/mysql-binEOF

更改环境变量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 

如下图即为成功

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

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

编译部署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.rpmyum 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/srcrz    #上传PHP安装包

解压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/

如下图即为编译成功

安装make && make install

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

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

 将PHP注册为系统服务

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

可以用service管理即可,不用开启php服务

 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 << EOFuser  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 << EOFserver {        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数据库

如下图,说明创建成功

4)配置Wordpress内容管理器

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

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

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

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

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

 然后重启服务 

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

弹出安装wordpress的界面为正常

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

 安装完成界面

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

 这个便是后台的管理地址

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

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

 这些主题都可以更换

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

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

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

安装包永久有效

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

一键部署脚本永久有效

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

更多好货

 

 

来源地址:https://blog.csdn.net/m0_64423407/article/details/127192268

--结束END--

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

本文链接: https://lsjlt.com/news/396566.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作