在redhat上LNMP的搭建
一、配置软件源仓库
1、给redhat选择ISO镜像并连接
2、(1)打开我们使用的FinalShell,ssh连接我们的redhat,并在根目录下创建一个cdrom目录
mkdir -p /media/cdrom
(2)进入到刚才我们创建的目录下,进行挂载
mount /dev/cdrom /media/cdrom
3、挂载完成后退出cdrom并重新进入该目录,看到该目录下有文件以后就是成功了
4、切换到repos.d目录中,对它里面的redhat.repo使用(vim)进行编辑
cd /etc/yum.repos.d/
vim rh8.repo
输入下面代码后:wq保存并退出
[BaseOS]
name=BaseOS
baseurl=file:///media/cdrom/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///media/cdrom/AppStream
enabled=1
gpgcheck=0
5、下载http
yum install httpd -y
在yum安装软件包时,-y是一个选项参数,它表示在安装软件包时忽略确认提示,即自动回答“yes”(是的)以便在不中断安装过程的情况下确认安装。这样可以加快安装软件包的过程,尤其是当需要安装大量软件包时。
如果不加-y选项,在安装软件包时yum命令会提示用户确认是否安装软件包,需要手动输入“yes”才能继续进行安装。加上-y选项可以避免手动确认,使安装自动化,提高效率。但是,也需要小心使用该选项,避免因为误操作导致无法恢复的问题。
6、将我们提前准备好的工具拷贝到Redhat的/home目录下
7、安装依赖环境
使用 “dnf” 进行安装依赖环境
再Linux里面安装工具会有多个依赖包,比如安装MySQL-----如果手动安装需要先安装多个依赖包,最后才能成功安装MySQL。但是利用 “yum” 和 “dnf” 会自动的将这些需要的可依赖包安装,去资源库里找自动安装好
dnf -y install apr* autoconf automake numactl bison bzip2-devel cpp curl-devel fontconfig-devel freetype-devel gcc gcc-c++ gd-devel gettext-devel kernel-headers keyutils-libs-devel krb5-devel libcom_err-devel libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libxml2-devel libXpm* libxml* libXaw-devel libXmu-devel libtiff* make openssl-devel patch pcre-devel perl php-common php-gd telnet zlib-devel libtirpc-devel gtk* bison* lrzsz cmake ncurses-devel libzip-devel libxslt-devel gdbm-devel readline-devel gmp-devel
8、安装rpcsvc
用于rcpsvc协议的文件支持软件包,可以在后续mysql和nginx服务部署过程中被调用到
(1).解压rpcsvc压缩包
tar -xvf rpcsvc-proto-1.4.tar.gz
-x:解开压缩文件
-v:显示过程
-f:指定文件
(2).解压完成后,进入到rpcsvc目录下进行编译
./configure
(3).继续使用make进行编译,并进行安装
二、配置nginx
1、添加nginx用户,设置不可登录nologin,不创建家目录
nginx只需要管理nginx服务,不需要登录也不需要家目录
useradd nginx -s /sbin/nologin -M
2、在home目录下我们看到nginx压缩包,对该压缩包进行解压
tar -xvf nginx-1.16.0.tar.gz
3、解压完成后加入参数,便于后面进行管理
4、进入到nginx目录下,加密模块用于https加密
./config --prefix-/usr/nginx --with-http_ssl_module
5、下载完成对配置文件进行编辑
vim /usr/local/nginx/conf/nginx.nginx.conf
6、将user改为nginx用户 nginx组,去掉前面的井号注释
7、为了与后面的php结合使用,将注释删掉并做如下修改
修改路径为了后期和php进行对接的时候能够解析php的文件,编辑完成后:wq保存并退出
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
8、调用nginx看一下,显示未找到命令,所以我们需要对环境变量的文件进行编辑
vim ~/ .bash_profile
9、 通过过滤,检查端口80是否被nginx的占用,这里我们可以看到被监听了
netatat -ano|grep 80
10、设置防火墙
firewall-cmd --permanent --zone=public --add-port=80/tcp
防火墙设置允许80端口被访问
firewall-cmd --reload
重启防火墙服务
firewall-cmd --zone=public --list-ports
查询端口状态
11、打开我们的浏览器访问 192.168.231.147 可以看到Welcome to nginx!
证明nginx已经搭建成功
三、配置Mysql
1、防止两个数据库之间冲突,需要先卸载系统原有自带的数据库
dnf remove mariadb*
2、删除源数据库的所有目录
rm -rf /sur/local/mysql
3、添加MySQL用户,不可能登录,不创建家目录
useradd mysql -M -s /sbin/nologin
4、我们在home目录下看到了mysql 的压缩包,比对其进行解压
tar -xvf mysql-8.0.18.tar.xz
5、解压完成因为MySQL原有的名字太长不好操作,将其名字改为mysql
mv mysql-8.0.18-linux.glbc2.12-x86_64/ mysql
6、将MySQL目录移动到/usr/local下,进入到该路径下,在里面新建一个data的目录用于存储数据库的具体内容
mv mysql /usr/local
mkdir data
7、我们返回到上一级,查看MySQL数据库的权限
ls -l
8、设置MySQL的子目录继承它的属性
chown -R mysql:mysql /usr/local/mysql
9、添加软链接,将libtinfo.so.5指向libtinfo.6.1
ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
10、进入到/usr/local/mysql/bin目录下,使用mysql用户,基于/usr/local/mysql文件夹,将数据文件放在/usr/local/.ysql/data目录下
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
11、将密码复制并保存
12、编辑环境变量,把mysql添加到环境变量中,编辑好后输入:wq保存并退出
vim ~/.bash_profile
环境变量
PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin:/usr/local/mysql/bin
13、更新环境变量
source ~/.bash profile
14、查看3306端口状态
netstat -ano|grep 3306
15、登录MySQL数据库,根据提示修改密码以及操作
mysql -uroot -p
四、配置php
1、cd /home 切换到家目录,将php的压缩包进行解压
tar -zxvf php-7.3.5tar.gz
2、进入到php目录中
cd php-7.3.5/
对php进行编译
./configure --prefix=/usr/local/php --enable-fpm --with-mysqli --with-curl --with-pdo_mysql --with-pdo_sqlite --enable-mysqlnd --enable-mbstring --with-gd
3、用make继续进行编译
4、编译完成用make进行下载
make install
5、把文件复制到/usr/local/php/lib/php.ini路径下,并进入etc目录中,将该目录中的php-fpm.conf.default改名字为php-fpm/conf,把php-fpm.d下的文件www.conf.default移动到php-fpm.d并重命名为www.conf。进入到home目录下后再进入到php-7.3.5文件中,复制文件
cp php.ini-development /usr/local/php/lib/php.ini
cd /usr/local/php/etc/
mv php-fpm.conf.default php-fpm.conf
mv php- fpm.d/www.conf,default php- fpm.d/www.conf
cd /home
ls
cd php-7.3.5
cp sapi/fpm/initd.php-fpm /etc/init.d/php-fpm
6、给我们复制的那个文件赋权755,并编辑php的配置文件
chmod 755 /etc/init.d/php-fpm
vim /usr/local/php/lib/php.ini
7、在disable_functions的后面把不需要的php危险函数禁用掉进行加固
passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
:wq保存退出
8、开启php服务
/etc/init.d/php-fpm start
以上是LNMP环境搭建完成的所有过程
五、搭建博客(wordpress)
1、进入到home录下
cd /home
ls 查看
2、将wordpress.tar.gz进行解压
tar -zxvf wordpress.tar.gz
-z:使用GZIP压缩或者解压
-v:显示过程
-f:指定文件
3、把wordpress目录下的所有文件移动到网页根目录/usr/local/nginx/html下
mv wordpress/* /usr/local/nginx/htmi/
设置网页根目录的所属用户及用户组
chown -Rf nginx:nginx /usr/local/nginx/html
给网页根目录最高权限
chmod -Rf 777 /usr/local/nginx/html
4、重启nginx服务
nginx -s reload
5、在重新进入MySQL数据库
mysql -uroot -p
密码:ZcZCYYdsZcZCYYdsZcZCYYds
新建一个名为 wordpress 的数据库
create database wordpress character set utf8
6、到网页输入信息并提交
7、点击完 “现在安装”
cd /usr/local/nginx/html
8、可以查看到自动帮我们新建了一个 wp-config.php
9、返回到刚才的页面,进行信息编辑