LNMP平台的搭建及应用

1、文件位置
系统命令:一般在/bin 或/sbin 目录中 ,或者是 shell 内部命令。负责完成系统管理工作
应用程序:一般位于/usr/bin 或者/usr/sbin 目录中。解决某个特定的应用任务。
文件类型
保存目录
普通执行程序文件
/usr/bin
服务器执行程序文件和管理程序文件
/usr/sbin
应用程序配置文件
/etc
日志文件
/var/log
应用程序文档文件
/usr/share/doc
应用程序手册页文件
/usr/share/man
2、rpm 命令
1)安装
格式:rpm [选项] RPM 包文件
常用选项:
-i:安装一个新的 rpm 软件包
-h:以“#”号显示安装的进度
-v:显示安装过程中的详细信息
--force:强制安装所指定的 rpm 软件包
--nodeps:安装软件时,忽略依赖关系
2)升级或更新.rpm 软件包
格式:rpm [选项] RPM 包文件
常用选项:
-U:升级某个 rpm 软件,若原本未装,则进行安装
-F:更新某个 rpm 软件,若原本未装,则放弃安装
--nodeps:升级软件时,忽略依赖关系
3)卸载指定的.rpm 软件包 格式:rpm -e 软件名
--nodeps:卸载软件时,忽略依赖关系
4)查询已安装的.rpm 软件包
格式:rpm -q[子选项] [软件名]
常用子选项命令:
-qa:查看系统中已安装的所有 RPM 软件包列表
-qi:查看指定软件的详细信息
-ql:查询指定软件包所安装的目录、文件列表
-qc:仅显示指定软件包安装的配置文件
-qd:仅显示指定软件包安装的文档文件
5)示例:RPM 包安装方式安装 jdk1.8
a)下载 jdk 文件并上传至系统。到 JDK 官网上下载你想要的 JDK 版本,下载完成之后将需要
安装的 JDK 安装包上传到 Linux 系统指定的文件夹下。我已经将文件上传到 QQ 群,你们也
可以从 QQ 群文件下载。进入下载页面选择文件后登陆下载:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
有同学可能回想我怎么知道自己的 linux 系统的版本。执行命令:
$cat /proc/vesion b)检测系统 JDK 默认安装包
[hx@myserver ~]$ rpm -qa|grep java
下面的操作需要管理员权限,如果是普通用户登录,确保用户加入了 wheel 组,或者切换为
root 登录。
c)卸载 OpenJDK
再次输入命令 查看卸载情况
d)安装 jdk1.8
进入 jdk 文件上传的目录,执行安装命令。
e)查看安装是否成功 f)配置环境变量并重新加载
修改/etc/profile 文件,再重新加载
3、yum 安装
1)yum 源的获取
yum 安装的本质,其实是 rpm 包安装。使用 yum 命令时,必须依赖于 yum 源,而 yum 源可以
从互联网获取,也可以建立本地的 yum 源。默认情况 yum 源的配置文件是在/etc/yum.repos.d
目录下,打开/etc/yum.repos.d,可以看到 yum 源
a) 远程源配置
b) 本地源的配置
如果无法连接外网,那么就需要建立本地的 yum 源,确认本机是否挂载有 rhel7 的 ISO 镜像
文件。
首先建立一个目录,比如 /media/cdrom,,再将光盘挂载到这个目录。切换到用户主目录,
执行命令:
[hx@myserver ~]$ sudo mkdir -p /media/cdrom
[hx@myserver ~]$ sudo mount /dev/sr0 /media/cdrom 在/etc/yum.repos.d/目录下新建一个 rhel7.repo 的 yum 源文件。
[hx@myserver ~]$sudo vim /etc/yum.repos.d/rhel7.repo
执行命令 yum repolist all 查看一下建立的 yum 源仓库是否建立成功。
清空缓存并重新加载
[hx@myserver ~]$ yum clean all
[hx@myserver ~]$ yum repolist
2)安装应用程序
格式:yum install 软件名 [-y]
-y:如果使用-y,那么在安装软件时命令行就不会出现"Is this ok[y/N]"这条提醒语句了,
更不需要在命令行输入 y 或 N 了,直接安装软件。对于安装有依赖包的软件,yum 命令会直
接匹配依赖包然后直接安装。
3)列出所有软件包的信息或单独一个软件包的信息 4)卸载软件包
5)列出所有已安装的软件包
[hx@myserver ~]$ yum list installed
4、编译安装源码包
1)解压 ,通常是 tar 包文件
解包、释放出源代码文件,习惯上将软件包释放到/usr/local/src/目录,解包后的源代码
文件位置:/usr/local/src/软件名-版本号/
2)配置
./configure
针对当前系统、软件环境,配置好安装参数
典型的配置选项:--prefix=软件安装目录,--prefix 选项是配置安装的路径,如果不配置
该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,
配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱;
如果使用--prefix 选项可以将安装文件放到/usr/local/apache2 目录中,有利于查找、卸
载软件或移植软件,当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把
软件卸载得干干净净,移植软件只需拷贝整个目录到另外一个机器即可;使用./configure
配置时,需要将工作目录切换到软件源码所在的目录; 3)编译
make
将源代码文件变为二进制的可执行程序,用 make 命令
4)安装
make install
使用安装 make install 命令安装程序
示例:源码安装 Apache 服务
安装关联依赖文件
[hx@myserver ~]$ yum install apr apr-util apr-devel apr-util-devel pcre pcre-devel
[hx@myserver ~]$ sudo yum install gcc gcc-c++ c++
上传并解压文件
[hx@myserver ~]$ sudo tar xzvf httpd-2.4.46.tar.gz -C /usr/local/src/
[hx@myserver ~]$ cd /usr/local/src/httpd-2.4.46/
[hx@myserver httpd-2.4.46]$ ls
安装
[hx@myserver httpd-2.4.46]$ sudo ./configure --prefix=/usr/local/Apache2
[hx@myserver
httpd-2.4.46]$
sudo
./configure
--prefix=/usr/local/Apache2
--enable-rewrite --enable-so
[hx@myserver httpd-2.4.46]$ sudo make
[hx@myserver httpd-2.4.46]$ sudo make install
开放防护墙端口
[hx@myserver ~]$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
[hx@myserver ~]$ sudo firewall-cmd --reload
启用服务
[hx@myserver ~]$ sudo /usr/local/Apache2/bin/apachectl start 8.2 安装 LAMP(Linux+Apache+MariaDB+PHP)
示例使用 root 用户登录操作,系统默认防火墙 firewalld,默认本地 yum 镜像,采用 yum
安装方式。
1、安装 apache 服务
[root@myserver ~]#yum install httpd
[root@myserver ~]#systemctl status httpd
[root@myserver ~]#firewall-cmd --zone=public --add-service=http --permanent
[root@myserver ~]firewall-cmd --reload
[root@myserver ~]#systemctl start httpd
2、安装 MariaDB 服务
[root@myserver ~]#yum install mariadb mariadb-server
[root@myserver ~]#systemctl status mariadb
[root@myserver ~]firewall-cmd --zone=public --add-service=mysql --permanent
[root@myserver ~]firewall-cmd --reload
[root@myserver ~]#systemctl start mariadb
[root@myserver ~]mysql_secure_installation
[root@myserver ~]firewall-cmd --zone=public --list-all [root@myserver ~] mysql -u root -p
[root@myserver ~]systemctl restart mariadb
3、安装 PHP 服务
[root@myserver ~]yum install php
[root@myserver ~]yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear
php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
[root@myserver ~]cat >>/var/www/html/index.php <<EOF
<?php
phpinfo()
?>
EOF
4、浏览器查看
地址栏输入虚拟机 ip 地址显示 php 信息
8.3 源码安装 LNMP(Linux+Nginx+MySQL+PHP)
注:
1 、恢复系统快照到开始本章练习之前或更早,仿照上一节设置本地源,确保本地源镜像可用。
2 、教案是为了演示源码安装流程,自己练习或完成作业可以 yum 安装方式直接安装。
3 、软件包按照上一节的介绍从 Windows 中上传文件到 Linux 虚拟机
如果需要扩充磁盘,依照下面操作(假设硬盘 10GB):
1)在 VMware workstations 里面对虚拟机增加一块虚拟物理硬盘
2)不重启扫描硬盘:
[root@myserver ~]# echo "- - -">/sys/class/scsi_host/host0/scan
3)创建物理卷:[root@myserver ~]# pvcreate /dev/sdb
4)扩充物理卷组:[root@myserver~]# vgextend rhel_myserver /dev/sdb
5)扩充逻辑卷:
[root@myserver ~]# lvextend -l +2559 /dev/mapper/rhel_myserver-root
6)调整文件系统:
[root@myserver ~]# xfs_growfs /dev/mapper/rhel_myserver-root 8.3.1 Nginx 安装与配置
1、安装依赖包
nginx 的配置及运行需要 pcre、zlib 等软件包的支持,因此需要安装这些安装的开发包,以
便提供相应的库和头文件。
[root@myserver Downloads]# yum -y install pcre-devel zlib-devel gcc gcc-c++ make
要养成习惯看一下命令的执行结果,是不是正确执行了。比如刚才的执行结果应该类似下图
Linux 系统中不是说你输入了命令就完事了,而是要看命令执行情况,如果不能正确执行需要按照提示
执行相关命令,或者通过百度等搜索引擎去查看解决办法,
2 、创建运行用户
Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限。
[root@myserver Downloads]# useradd -M -s /sbin/nologin
nginx
3 、编译安装
第一步 解压 Nginx 文件,将 Nginx 文件解压到 /opt 目录下
[root@myserver Downloads]# tar
zxvf
nginx-1.20.1.tar.gz -C
/opt
第二步,切换到 Nginx 目录
[root@myserver Downloads]# cd /opt/nginx-1.20.1/
第三步 编译
[root@myserver nginx-1.20.1]# ./configure
--prefix=/usr/local/nginx
--user=nginx
--group=nginx
--with-openssl=/usr/lib64/openssl --with-http_stub_status_module 配置命令解释
\
# 下一行和本行属于同一条命令
--prefix=/usr/local/nginx
# 指定 nginx 的安装路径
--user=nginx
# 指定用户名
--group=nginx
# 指定组名
--with-http_ssl_module
# 启用 ssl 模块以支持 https 服务
--with-http_stub_status_module # 启用 http_stub_status_module 模块以支持状态统计
安装 Nginx
[root@myserver nginx-1.20.1]# make && make install
第四步 修改配置文件
[root@myserver nginx-1.20.1]# vim /usr/local/nginx/conf/nginx.conf
在第 2 行的 nobody 修改为 nginx
修改第 45 行的首页文件名称,添加上 index.php 的名字
44
location / {
45
root
html;
46
index index.php index.html index.htm;
47
}
删除第 65 71 行前面的注释符(
# )来启用虚拟主机功能,将第 69 行后面对应的网站根目录修改为
/usr/local/nginx/html
64
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
65
#
66
location ~ \.php$ {
67
root
html;
68
fastcgi_pass
127.0.0.1:9000; 69
fastcgi_index index.php;
70
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html $fastcgi_script_name;
71
include
fastcgi_params;
72
}
第五步 路径优化,添加 Nginx 系统服务
将应用程序 nginx 中可执行的命令做个软链接到环境路径变量中,让系统识别 nginx 的操作命令
[root@myserver nginx-1.20.1]# ln -s /usr/local/nginx/sbin/nginx
/usr/local/sbin/
通过编译源码方式安装的服务默认不能够被 systemctl 命令所管理,而要用 Nginx 服务本身的管理工具进
行操作,添加 Nginx 系统服务文件,文件内容如截图所示。
[root@myserver nginx-1.20.1]# vim /lib/systemd/system/nginx.service
[root@myserver nginx-1.20.1]# systemctl start nginx.service
[root@myserver nginx-1.20.1]# systemctl enable nginx.service
第六步 防火墙开启 80 端口
[root@myserver nginx-1.20.1]# firewall-cmd --zone=public
--add-port=80/tcp
--permanent
[root@myserver nginx-1.20.1]# firewall-cmd
--reload
第七步 测试访问
在浏览器地址栏输入虚拟机的 ip( 比如教学机器虚拟机 ip 192.168.10.130 ),网页会显示类似下面的内
容(如果不能显示请查看 Windows 防火墙是否关闭了,或者直接在虚拟机里面使用 Firefox 浏览器查看) 8.3.2 安装配置 MySQL
1 、安装依赖包
首先查看是否有 mariadb 数据库模块,如果有就先删掉(当然, lnmp 平台使用 mariadb 也是可以的)
[root@myserver nginx-1.20.1]# rpm -qa | grep mariadb
[root@myserver nginx-1.20.1]# rpm -e --nodeps mariadb-libs
2 、解压
[root@myserver nginx-1.20.1]# cd ~/Downloads/
[root@myserver opt]# tar zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz -C /opt
[root@myserver Downloads]#cd /opt
[root@myserver opt]# mv mysql-5.7.29-linux-glibc2.12-x86_64 /usr/local/mysql
3 、创建 data 文件夹
[root@myserver opt]#cd /usr/local/mysql
[root@myserver mysql]#mkdir data
4 、创建 mysql 用户和组
[root@myserver mysql]#groupadd mysql
[root@myserver mysql]# useradd -r
-g mysql mysql
5 、更改 mysql 安装目录和配置文件的属主属组
[root@myserver mysql]#chown -R mysql:mysql /usr/local/mysql/
5 、编辑 my.cnf 文件
[root@myserver mysql]#vim /etc/my.cnf 7 、初始化数据库
[root@myserver
mysql]#
./bin/mysqld
--initialize
--user=mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
8 、启动 mysqld 系统
将启动脚本放到开机初始化目录(也可以类似教材的方法修改环境变量)
[root@myserver mysql]# cp
./support-files/mysql.server /etc/init.d/mysql
[root@myserver mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin
[root@myserver mysq]#firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@myserver mysq]# firewall-cmd --reload
[root@myserver mysql]# /etc/init.d/mysql start
9 、登录
查看初始密码: [root@myserver mysql]# cat /usr/local/mysql/data/mysqld.log
[root@myserver mysq]# mysql -uroot -h 127.0.0.1 -p
输入初始化是产生的密码,也就是类似上面初始化截图箭头指向的值
修改密码并刷新权限
输入 quit 离开 mysql 数据库返回 Linux Shell 界面
8.3.3 PHP 的安装
1、依赖安装
[root@myserver Downloads]# rpm -ivh oniguruma5php-*
[root@myserver Downloads]# yum install -y libxml2-devel sqlite-devel
libcurl-devel autoconf automake libtool libpng-devel
2、解压 [root@myserver Downloads]#tar zxvf php-7.4.20.tar.gz -C /opt
3、安装
[root@myserver Downloads]#cd /opt/php-7.4.20/
[root@myserver php-7.4.20]# ./configure --prefix=/usr/local/php --enable-fpm
--with-mysqli --with-curl --with-pdo_mysql --with-pdo_sqlite --enable-mysqlnd
--enable-mbstring --enable-gd
[root@myserver php-7.4.20]# make && make install
4、配置
[root@myserver php-7.4.20]# cp php.ini-development /usr/local/php/lib/php.ini
[root@myserver php-7.4.20]# cd /usr/local/php/etc/
[root@myserver etc]# mv php-fpm.conf.default php-fpm.conf
[root@myserver etc]# mv php-fpm.d/www.conf.default php-fpm.d/www.conf
[root@myserver etc]# cd /opt/php-7.4.20/
[root@myserver php-7.4.20]# cp sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm
[root@myserver php-7.4.20]# chmod 755 /etc/init.d/php-fpm
[root@myserver php-7.4.20]# vim /usr/local/nginx/conf/nginx.conf
[root@myserver php-7.4.20]# vim /usr/local/php/lib/php.ini
5、禁用相关功能:
passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,po
pen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,strea
m_socket_server 6、启动服务
[root@myserver php-7.4.20]# /etc/init.d/php-fpm start
8.3.4 搭建 Wordpress 博客服务
1、解压 WordPress
[root@myserver php-7.4.20]# cd ~/Downloads
[root@myserver Downloads]# tar zxvf wordpress-5.7.2-zh_CN.tar.gz
2、情况 html 目录后复制 WordPress
[root@myserver Downloads]# rm -rf /usr/local/nginx/html/*.*
[root@myserver Downloads]# mv wordpress/* /usr/local/nginx/html/
3、设置目录所有身份及可读写的权限
[root@myserver Downloads]# chown -Rf nginx:nginx /usr/local/nginx/html
[root@myserver Downloads]# chmod -Rf 777 /usr/local/nginx/html/
4、修改 nginx 的端口
[root@myserver Downloads]# vim /usr/local/nginx/conf/nginx.conf
[root@myserver Downloads]# systemctl restart nginx.service
[root@myserver Downloads]# firewall-cmd --zone=public --add-port=8080/tcp
--permanent
[root@myserver Downloads]# firewall-cmd --reload
5、在 MySQL 数据库中创建一个数据库 lnmp 6、测试页面
浏览器地址输入:192.168.10.130:8080

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值