在Liunx中安装JDK、Tomcat、mysql、lrzsz、Nginx

news2025/7/17 22:54:45

一.软件安装方式

在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下:

二.安装JDK

上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进制发
布包)形式来安装JDK。

在/下创建soft目录, 将提供的"软件"复制到Linux的soft目录下

[root@localhost /]# mkdir soft

[root@localhost soft]# ls

[root@localhost /]# mkdir soft
[root@localhost /]# ls
bin dev home lib64 mnt proc run soft sys usr
boot etc lib media opt root sbin srv tmp var

上传完毕后,我们执行指令 cd / 切换到根目录下,查看上传的安装包。

[root@localhost /]# cd soft
[root@localhost soft]# ls

[root@localhost /]# cd soft
[root@localhost soft]# ls
jdk-8u152-linux-x64.tar.gz
[root@localhost soft]#

将压缩包进行解压,并通过-C参数指定解压文件存放目录为 /usr/local。

[root@localhost soft]# tar -zxvf jdk-8u152-linux-x64.tar.gz -C /usr/local

[root@localhost soft]# tar -zxvf jdk-8u152-linux-x64.tar.gz -C /usr/local

查看解压后的目录,目录中有jdk1.8.0_152为jdk解压的目录

[root@localhost soft]# cd /usr/local
[root@localhost local]# ls

[root@localhost soft]# cd /usr/local
[root@localhost local]# ls
bin etc games include jdk1.8.0_152 lib lib64 libexec sbin
share src
[root@localhost local]#

配置jdk环境变量,打开/etc/profile配置文件,将下面配置拷贝进去注:放在文
件的最后面。export命令用于将shell变量输出为环境变量

[root@localhost local]# vim /etc/profile

[root@localhost local]# vim /etc/profile
#set java environment
JAVA_HOME=/usr/local/jdk1.8.0_152
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

为了使更改的配置立即生效,需要重新加载profile文件,执行命令:

[root@localhost local]# source /etc/profile

[root@localhost local]# source /etc/profile

检查安装是否成功

[root@localhost local]# cd /
[root@localhost /]# java -version

[root@localhost local]# cd /
[root@localhost /]# java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
[root@localhost /]#

三.安装Tomca

3.1 Tomcat安装

Tomcat的安装和上述JDK的安装采用相同的方式,都是使用二进制发布包的形式进行
安装。
将Tomcat的二进制发布包上传到Linux(与前面上传JDK安装包步骤一致)。        

[root@localhost /]# cd /soft
[root@localhost soft]# ls

[root@localhost /]# cd /soft
[root@localhost soft]# ls
apache-tomcat-8.5.88.tar.gz jdk-8u152-linux-x64.tar.gz
[root@localhost soft]#

将上传上来的安装包解压到指定目录/usr/local下,执行命令为:

[root@localhost soft]# tar -zxvf apache-tomcat-8.5.88.tar.gz -C /usr/local

[root@localhost soft]# tar -zxvf apache-tomcat-8.5.88.tar.gz -C /usr/local

查看Tomcat所在的目录,并改名

[root@localhost soft]# cd /usr/local
[root@localhost local]# ls
apache-tomcat-8.5.88 etc include lib libexec share
bin games jdk1.8.0_152 lib64 sbin src

[root@localhost soft]# cd /usr/local
[root@localhost local]# ls
apache-tomcat-8.5.88 etc include lib libexec share
bin games jdk1.8.0_152 lib64 sbin src

[root@localhost local]# mv apache-tomcat-8.5.88 tomcat8
[root@localhost local]# ls
bin games jdk1.8.0_152 lib64 sbin src
etc include lib libexec share tomcat8
[root@localhost local]#

[root@localhost local]# mv apache-tomcat-8.5.88 tomcat8
[root@localhost local]# ls
bin games jdk1.8.0_152 lib64 sbin src
etc include lib libexec share tomcat8
[root@localhost local]#

进入Tomcat的bin目录启动服务。执行命令为:

sh startup.sh或者./startup.sh

[root@localhost bin]# cd /usr/local/tomcat8/bin
[root@localhost bin]# ls
bootstrap.jar                                         configtest.sh          startup.sh
catalina.bat                                           daemon.sh            tomcat-juli.jar
catalina.sh                                            digest.bat               tomcat-native.tar.gz
catalina-tasks.xml                                 digest.sh                tool-wrapper.bat
ciphers.bat                                            setclasspath.bat    tool-wrapper.sh
ciphers.sh                                             setclasspath.sh      version.bat
commons-daemon.jar                           shutdown.bat         version.sh
commons-daemon-native.tar.gz           shutdown.sh
configtest.bat                                        startup.bat

[root@localhost bin]# cd /usr/local/tomcat8/bin
[root@localhost bin]# ls
bootstrap.jar configtest.sh startup.sh
catalina.bat daemon.sh tomcat-juli.jar
catalina.sh digest.bat tomcat-native.tar.gz
catalina-tasks.xml digest.sh tool-wrapper.bat
ciphers.bat setclasspath.bat tool-wrapper.sh
ciphers.sh setclasspath.sh version.bat
commons-daemon.jar shutdown.bat version.sh
commons-daemon-native.tar.gz shutdown.sh
configtest.bat startup.bat

[root@localhost bin]# ./startup.sh

[root@localhost bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/jdk1.8.0_152
Using CLASSPATH:
/usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@localhost bin]#

验证Tomcat启动是否成功:查看启动日志

Tomcat的启动日志输出在Tomcat的安装目录下的logs目录中,Tomcat的启动及运
行日志文件名为 catalina.out,所以我们查看Tomcat启动日志,主要可以通过两条指
令,如下:

[root@localhost bin]# more /usr/local/tomcat8/logs/catalina.out

[root@localhost bin]# more /usr/local/tomcat8/logs/catalina.out

[root@localhost bin]# tail -f /usr/local/tomcat8/logs/catalina.out

[root@localhost bin]# tail -f /usr/local/tomcat8/logs/catalina.out

Tomcat在启动的过程中,日志输出没有报错,基本可以判定Tomcat启动成功了。
        验证Tomcat启动是否成功:查询系统进程
我们也可以通过Linux系统的查看系统进程的指令,来判定Tomcat进程是否存在,从
而判定Tomcat是否启动。执行如下指令:

[root@localhost bin]# ps -ef | grep tomcat


3.2 防火墙操作

linux默认防火墙是开启,而且所有的端口对外都是不可访问的。这么做的目的:安
全。 问题:比如我等会在linux上安装tomcat的软件的。 tomcat软件需要使用8080
端口。但是由于端口对外都是不可访问的,所以windows没法访问linux的tomcat。

解决上述问题的方案有两种:
        *直接关闭防火墙,释放所有的端口,允许外界去访问全部的端口 , 方便省心,
         弊端不安全(开发阶段)
        *只开放8080端口。开放指定的端口 (生产阶段,项目上线)

*systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看
状态等操作


*firewall-cmd是Linux中专门用于控制防火墙的命令


*为了保证系统安全,服务器的防火墙不建议关闭

关闭防火墙,执行指令 :

[root@localhost bin]# systemctl stop firewalld

[root@localhost bin]# systemctl stop firewalld

开放Tomcat的端口号8080

先开启系统防火墙
systemctl start firewalld


再开放8080端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent


重新加载防火墙
firewall-cmd --reload

先开启系统防火墙
systemctl start firewalld
再开放8080端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent
重新加载防火墙
firewall-cmd --reload
3.3 停止Tomcat

*运行Tomcat提供的脚本文件
        在Tomcat安装目录下有一个bin目录,这个目录中存放的是tomcat的运行脚本文件,
        其中有一个脚本就是用于停止tomcat服务的。我们可以切换到bin目录,并执行如下
        指令,来停止Tomcat服务:

sh shutdown.sh 或者./shutdown.sh

[root@localhost bin]# ./shutdown.sh

结束Tomcat进程
        我们可以先通过 ps -ef | grep tomcat指令查看tomcat进程的信息,从进程信息中获
        取tomcat服务的进程号。然后通过kill -9 的形式,来杀死系统进程。

通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就可以
通过指令 ,来杀死tomcat的进程 :

强制杀死:kill -9 进程号

kill -9 79947 强制杀死79947的进程

虽然上述讲解的两种方式,都可以停止Tomcat服务,但是推荐使用第一种方式
(./shutdown.sh)执行脚本来关闭tomcat服务,如果通过第一种方式停止不了tomcat
了,这个时候,我们可以考虑使用第二种方式,强制杀死进程。

四.安装MySQL


4.1 MySQL安装

对于MySQL数据库的安装,我们将要使用前面讲解的第二种安装方式rpm进行安装。
那么首先我们先了解一下什么rpm?


RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于
管理和安装软件的工具。


我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:


        *检测当前系统是否安装过MySQL相关数据库
通过rpm相关指令,查询当前系统中是否存在已安装的mysql软件包,执行指令如
下:

rpm -qa 查询当前系统中安装的所有软件
rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件

通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们
可以通过管道符 | 配合着grep进行过滤查询。

[root@localhost bin]# rpm -qa | grep mysql
[root@localhost bin]# rpm -qa | grep mariadb

[root@localhost bin]# rpm -qa | grep mysql
[root@localhost bin]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@localhost bin]#


通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这
个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载
mariadb数据库。

卸载现有的MySQL数据库
        在rpm中,卸载软件的语法为:rpm -e --nodeps 软件名称

那么,我们就可以通过指令,卸载 mariadb,具体指令为:

[root@localhost bin]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

删除后再次查询
[root@localhost bin]# rpm -qa | grep mariadb
 

[root@localhost bin]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
[root@localhost bin]# rpm -qa | grep mariadb
[root@localhost bin]#

我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载
了。

上传MySQL安装包到Linux系统的根目录 /soft 下面。

[root@localhost ~]# cd /sof

[root@localhost ~]# cd /soft
[root@localhost soft]# ls
apache-tomcat-8.5.88.tar.gz     mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
jdk-8u152-linux-x64.tar.gz
[root@localhost soft]#

检查必要依赖:查询是否安装了如下依赖

[root@localhost soft]# rpm -qa|grep libaio
[root@localhost soft]# rpm -qa|grep net-tools

[root@localhost soft]# rpm -qa|grep libaio
libaio-0.3.109-13.el7.x86_64
[root@localhost soft]# rpm -qa|grep net-tools
net-tools-2.0-0.22.20131004git.el7.x86_64
[root@localhost soft]# rpm -qa|grep perl
perl-Pod-Perldoc-3.20-4.el7.noarch
perl-Pod-Usage-1.63-3.el7.noarch
...

如果不存在,则需要安装

yum install libaio -y

yum install net-tools -y

yum install perl -y

注:-y 表示在安装工程中的提示默认为yes
        *检查/tmp临时目录权限
由于MySQL安装过程中,会通过MySQL用户在/tmp目录下新建tmp_db文件,所以 请给/tmp较大的权限。

权限检查:

ll -a /

如果权限不是777则授权为777:

命令:chmod -R 777 /tmp    (注意:如果看不懂是什么权限也可以执行这个命令)

解压到/usr/local/mysql

[root@localhost /]# cd /soft/
[root@localhost soft]# ls
[root@localhost soft]# tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql/

[root@localhost /]# cd /soft/
[root@localhost soft]# ls
apache-tomcat-8.5.88.tar.gz mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
jdk-8u152-linux-x64.tar.gz
[root@localhost soft]# tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar -C
/usr/local/mysql/
mysql-community-client-8.0.30-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm
mysql-community-common-8.0.30-1.el7.x86_64.rpm
mysql-community-debuginfo-8.0.30-1.el7.x86_64.rpm
mysql-community-devel-8.0.30-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.30-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm
mysql-community-libs-8.0.30-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.30-1.el7.x86_64.rpm
mysql-community-server-8.0.30-1.el7.x86_64.rpm
mysql-community-server-debug-8.0.30-1.el7.x86_64.rpm
mysql-community-test-8.0.30-1.el7.x86_64.rpm
[root@localhost soft]#

进入到解压目录并查看

[root@localhost soft]# cd /usr/local/mysql/
[root@localhost mysql]# ls

[root@localhost soft]# cd /usr/local/mysql/
[root@localhost mysql]# ls
mysql-community-client-8.0.30-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm
mysql-community-common-8.0.30-1.el7.x86_64.rpm
mysql-community-debuginfo-8.0.30-1.el7.x86_64.rpm
mysql-community-devel-8.0.30-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.30-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm
mysql-community-libs-8.0.30-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.30-1.el7.x86_64.rpm
mysql-community-server-8.0.30-1.el7.x86_64.rpm
mysql-community-server-debug-8.0.30-1.el7.x86_64.rpm
mysql-community-test-8.0.30-1.el7.x86_64.rpm
[root@localhost mysql]#

在安装文件目录下执行以下命令(注意必须按照顺序执行):

第一个: rpm -ivh mysql-community-common-8.0.30-1.el7.x86_64.rpm
第二个:rpm -ivh mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm
第三个:rpm -ivh mysql-community-libs-8.0.30-1.el7.x86_64.rpm
第四个:rpm -ivh mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm
第五个:rpm -ivh mysql-community-client-8.0.30-1.el7.x86_64.rpm
第六个:rpm -ivh mysql-community-server-8.0.30-1.el7.x86_64.rpm
 

rpm -ivh mysql-community-common-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.30-1.el7.x86_64.rpm
# -i, --install 安装软件包
# -v, --verbose 提供更多的详细信息输出
# -h, --hash 软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好),
展示进度条

查看是否安装成功:

[root@localhost mysql]# rpm -qa|grep -i mysql
 

[root@localhost mysql]# rpm -qa|grep -i mysql
mysql-community-icu-data-files-8.0.30-1.el7.x86_64
mysql-community-common-8.0.30-1.el7.x86_64
mysql-community-libs-8.0.30-1.el7.x86_64
mysql-community-client-8.0.30-1.el7.x86_64
mysql-community-client-plugins-8.0.30-1.el7.x86_64
mysql-community-server-8.0.30-1.el7.x86_64
[root@localhost mysql]#

查看版本

[root@localhost mysql]# mysqladmin --version

[root@localhost mysql]# mysqladmin --version
mysqladmin Ver 8.0.30 for Linux on x86_64 (MySQL Community Server - GPL)
[root@localhost mysql]#

安装后的目录结构

4.2 MySQL启动

MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就
可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。
        *服务的初始化:初始化数据目录并生成初始密码

[root@localhost mysql]# ls /var/lib/mysql/
[root@localhost mysql]# mysqld --initialize --user=mysql
[root@localhost mysql]# ls /var/lib/mysql/
 

[root@localhost mysql]# ls /var/lib/mysql/
[root@localhost mysql]# mysqld --initialize --user=mysql
[root@localhost mysql]# ls /var/lib/mysql/
auto.cnf #ib_16384_0.dblwr #innodb_temp
public_key.pem undo_002
ca-key.pem #ib_16384_1.dblwr mysql server-cert.pem
ca.pem ib_buffer_pool mysql.ibd server-key.pem
client-cert.pem ibdata1 performance_schema sys
client-key.pem #innodb_redo private_key.pem undo_001
[root@localhost mysql]#

服务的启动和停止:

#启动,安装完MySQL第一次启动服务时,也会同时执行服务的初始化,因此也可以省略5.1
#如果省略了步骤5.1,并且启动失败,则说明之前安装的MySQL没有卸载干净,数据目
录/var/lib/mysql/没有删除
#请删除数据目录后再重新启动
systemctl start mysqld
#关闭
systemctl stop mysqld
#重启
systemctl restart mysqld
#查看服务状态
systemctl status mysqld

可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:

命令:systemctl enable mysqld

4.3 MySQL登录

查找初始密码

grep 'temporary password' /var/log/mysqld.log 或者使用  more /var/log/mysqld.log

登录MySQL客户端:

命令;mysql -uroot -p

[root@localhost mysql]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.30
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current
input statement.
mysql>

修改密码 (注意有些特殊的初生密码不能改成123456,因为太过简单所以要改的复杂一些,不要因为说密码改不了123456,就安装出错了这些都是正常的因为我第一次安装也出现过这种情况

因为初始密码只是一个临时密码,默认只可以登录,无法做其他操作,因此我们需要
重置密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
-- 或者
SET password FOR 'root'@'localhost'= '123456';
 

4.4 远程连接问题

在用SQLyog或Navicat中配置远程连接MySQL数据库时遇到如下报错信息,这是由于
MySQL默认不支持远程连接。

查看系统数据库MySQL中的user表:

USE mysql;


SELECT Host,User FROM user;

可以看到root用户的当前主机配置信息为localhost。修改Host为通配符%
Host列指定了允许用户登录所使用的IP:

Host=localhost,表示只能通过本机客户端去访问。
Host=%,表示所有IP都有连接权限。

UPDATE user SET Host = '%' WHERE User ='root';
FLUSH PRIVILEGES; -- Host修改完成后记得执行FLUSH PRIVILEGES使配置立即生
效:

注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,可以设
置为生产环境IP。

五.安装lrzsz

我们可以通过一个指令,来检查当前的yum源

[root@localhost ~]# zai

网络 yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为"*.repo"

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo
CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@localhost yum.repos.d]#

该目录下有 7 个 yum 配置文件,通常情况下 CentOS-Base.repo 文件生效。
        *备份默认的yum源,执行指令 :

[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# ls

[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# ls
bak CentOS-CR.repo CentOS-fasttrack.repo
CentOS-Sources.repo
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo
CentOS-Vault.repo

[root@localhost yum.repos.d]# mv *.repo ./bak
[root@localhost yum.repos.d]# ls

[root@localhost yum.repos.d]# mv *.repo ./bak
[root@localhost yum.repos.d]# ls
bak
[root@localhost yum.repos.d]#

下载阿里云的yum源

[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo (注意没有换行命令太一行长放不下)

执行命令,重新生成cache

yum clean all
yum makecache

再次查看yum源,之后,我们通过yum指令安装软件,就是从阿里云下载的。

[root@localhost yum.repos.d]# yum repolist
 

[root@localhost yum.repos.d]# yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
源标识 源名称
状态
base/7/x86_64 CentOS-7 - Base -mirrors.aliyun.com 10,072
extras/7/x86_64 CentOS-7 - Extras- mirrors.aliyun.com 526
updates/7/x86_64 CentOS-7 -Updates - mirrors.aliyun.com6,173
repolist: 16,771
[root@localhost yum.repos.d]#

5.2 安装lrzsz

搜索lrzsz安装包

[root@localhost yum.repos.d]# yum list lrzsz
 

[root@localhost yum.repos.d]# yum list lrzsz
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
可安装的软件包
lrzsz.x86_64
0.12.20-36.el7
base
[root@localhost yum.repos.d]#

在线安装lrzsz

[root@localhost yum.repos.d]# yum install lrzsz.x86_64

上传和下载的命令

rz
sz

六 Nginx在Linux下的安装

需要安装 gcc 的环境

命令:yum install gcc-c++

PCRE(Perl Compatible Regular Expressions)是一个 Perl 库,包括 perl 兼容的
正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在
linux 上安装 pcre 库。注:pcre-devel 是使用 pcre 开发的一个二次开发库。
nginx 也需要此库。

命令:yum install -y pcre pcre-devel

zlib 库提供了很多种压缩和解压缩的方式,nginx 使用 zlib 对 http 包的内容进行
gzip,所以需要在 linux 上安装 zlib 库。

命令:yum install -y zlib zlib-devel

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密
钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使
用。nginx 不仅支持 http 协议,还支持 https(即在 ssl 协议上传输 http),所
以需要在 linux安装 openssl 库。

命令:yum install -y openssl openssl-devel

Nginx下载

官方网站下载 nginx:http://nginx.org/

把 nginx 的源码包nginx-1.22.1.tar.gz上传到 linux 系统

[root@localhost soft]# ls
 

[root@localhost soft]# ls
apache-tomcat-8.5.88.tar.gz jdk-8u152-linux-x64.tar.gz mysql-
8.0.30-1.el7.x86_64.rpm-bundle.tar nginx-1.22.1.tar.gz
[root@localhost soft]#

解压缩到/usr/local

[root@localhost soft]# tar -zxvf nginx-1.22.1.tar.gz -C /usr/local/

进入nginx-1.22.1目录

[root@localhost local]# cd /usr/local/nginx-1.22.1/
[root@localhost nginx-1.22.1]# ls
 

[root@localhost local]# cd /usr/local/nginx-1.22.1/
[root@localhost nginx-1.22.1]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE
man README src
[root@localhost nginx-1.22.1]#

使用 configure 命令创建makeFile 文件。

复制全部一起运行:

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

执行后可以看到Makefile文件

[root@localhost nginx-1.22.1]# ll
 

[root@localhost nginx-1.22.1]# ll
总用量 808
drwxr-xr-x. 6 1001 1001 4096 12月 3 23:56 auto
-rw-r--r--. 1 1001 1001 317399 10月 19 2022 CHANGES
-rw-r--r--. 1 1001 1001 485035 10月 19 2022 CHANGES.ru
drwxr-xr-x. 2 1001 1001 168 12月 3 23:56 conf
-rwxr-xr-x. 1 1001 1001 2590 10月 19 2022 configure
drwxr-xr-x. 4 1001 1001 72 12月 3 23:56 contrib
drwxr-xr-x. 2 1001 1001 40 12月 3 23:56 html
-rw-r--r--. 1 1001 1001 1397 10月 19 2022 LICENSE
-rw-r--r--. 1 root root 417 12月 4 00:01 Makefile
drwxr-xr-x. 2 1001 1001 21 12月 3 23:56 man
drwxr-xr-x. 3 root root 125 12月 4 00:01 objs
-rw-r--r--. 1 1001 1001 49 10月 19 2022 README
drwxr-xr-x. 9 1001 1001 91 12月 3 23:56 src
[root@localhost nginx-1.22.1]#

编译

[root@localhost nginx-1.22.1]# make

安装

命令:make instal

启动nginx 之前,上边将临时文件目录指定为/var/temp/nginx/client, 需要
在/var 下创建此 目录

[root@localhost nginx-1.22.1]# mkdir /var/temp/nginx/client -p

进入到Nginx目录下的sbin目录:

[root@localhost sbin]# cd /usr/local/nginx
[root@localhost nginx]# ll

[root@localhost sbin]# cd /usr/local/nginx
[root@localhost nginx]# ll
总用量 4
drwxr-xr-x. 2 root root 4096 12月 4 00:09 conf
drwxr-xr-x. 2 root root 40 12月 4 00:09 html
drwxr-xr-x. 2 root root 19 12月 4 00:09 sbin


[root@localhost nginx]# cd sbin/
[root@localhost sbin]# ll
 

[root@localhost nginx]# cd sbin/
[root@localhost sbin]# ll
总用量 3832
-rwxr-xr-x. 1 root root 3920872 12月 4 00:09 nginx
[root@localhost sbin]

输入命令启动Nginx:./ngin

启动后查看进程:ps aux|grep nginx

关闭 nginx:./nginx -s stop  或者  ./nginx -s quit

重启 nginx:先关闭后启动。刷新配置文件:./nginx -s reloa

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2260217.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode-hot100-73

https://leetcode.cn/problems/largest-rectangle-in-histogram/description/?envTypestudy-plan-v2&envIdtop-100-liked 84. 柱状图中最大的矩形 已解答 困难 相关标签 相关企业 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#x…

leetcode-73.矩阵置零-day5

class Solution {public void setZeroes(int[][] mat) {int m mat.length, n mat[0].length;// 1. 扫描「首行」和「首列」记录「首行」和「首列」是否该被置零boolean r0 false, c0 false;for (int i 0; i < m; i) {if (mat[i][0] 0) {r0 true;break;}}for (int j …

【Spark】Spark Join类型及Join实现方式

如果觉得这篇文章对您有帮助&#xff0c;别忘了点赞、分享或关注哦&#xff01;您的一点小小支持&#xff0c;不仅能帮助更多人找到有价值的内容&#xff0c;还能鼓励我持续分享更多精彩的技术文章。感谢您的支持&#xff0c;让我们一起在技术的世界中不断进步&#xff01; Sp…

开源 AI 智能名片 S2B2C 商城小程序对私域流量运营的全方位助力

在当今竞争激烈的商业环境中&#xff0c;私域流量运营已成为企业实现可持续发展和提升竞争力的关键策略之一。开源 AI 智能名片 S2B2C 商城小程序凭借其独特的功能与特性&#xff0c;从多个维度为私域流量运营提供了强有力的支持与推动&#xff0c;以下将详细阐述其在各个方面的…

【razor】echo搭配relay功能分析

echo 要搭配relay 实现作者说relay在linux上跑,可以模拟丢包、延迟目前没看到如何模拟。relay监听9200,有俩作用 echopeer1 发relay,replay 把peer1的包给peer2 ,实现p2p能力。 接收端:采集后发送发给relay的 接收端的地址就是自己,的地址就是本地的9200,因此是让relay接…

Phoenix5.1.3安装

环境说明 准备三台服务器&#xff0c;分别为&#xff1a;bigdata141&#xff08;作为HBase主节点&#xff09;、bigdata142、bigdata143&#xff0c;已经搭建好HBase集群&#xff0c;我这边HBase版本为2.2.7另准备一台服务器&#xff0c;bigdata144&#xff0c;作为Phoenix客户…

ASP.NET Core API + MySql

环境 数据库&#xff1a; mysql8.0 后端&#xff1a; vs2022 ASP.NET Core API .net 8 前端&#xff1a; Hbuilderx bootstrap 5.3.0 jquery v3.7.1 bootstrap-table 1.23.5 创建项目 添加资源包 AutoMapper Microsoft.EntityFrameworkCore.Tools 8.0.0 Pomelo.EntityFramew…

小程序维护外包流程和费用

由于某些原因很多老板想要跟换掉小程序原来合作的开发公司&#xff0c;重新把小程序系统维护外包新的公司。小程序系统外包维护是一个涉及多个方面的过程&#xff0c;需要从需求明确、选择团队到持续优化等多个环节进行细致管理。以下就是小程序系统外包维护主要包括几个关键步…

代码随想录算法训练营第三十二天|动态规划理论基础|LC509.肥波那些数|LC70.爬楼梯|LC746.使用最小花费爬楼梯

动态规划理论基础 解释&#xff1a;动态规划&#xff0c;英文&#xff1a;Dynamic Programming&#xff0c;简称DP&#xff1b;如果某一问题有很多重叠子问题&#xff0c;使用动态规划是最有效的。 动态规划五部曲&#xff1a; 1、确定dp数组&#xff08;dp table&#xff09;…

亮相AICon,火山引擎边缘云揭秘边缘AI Agent探索与实践

12月13-14日&#xff0c;AICon 全球人工智能开发与应用大会在北京成功举办。火山引擎边缘智能技术负责人谢皓受邀出席大会&#xff0c;以《AI Agent 在边缘云的探索与实践》为主题&#xff0c;与全球 AI 领域的资深专家&#xff0c;共同深入探讨大模型落地、具身智能、多模态大…

找出1000以内的所有回文数

找出1000以内的所有回文数 方法概述检查回文数的方法伪代码C代码实现代码解析运行结果在计算机科学中,回文数是一种具有对称性质的数,即从左向右读和从右向左读都是相同的。例如,121、1331、12321都是回文数。本文将利用数据结构、C语言和算法的知识来编写一个程序,找出100…

数据保护策略:如何保障重要信息的安全

一、什么是数据安全&#xff1f; 数据安全是保护数字信息免遭盗窃、未经授权的访问和恶意修改的过程。这是一个持续的过程&#xff0c;负责监督信息的收集、存储和传输。 机密性&#xff1a;保护数据免遭未授权方访问。 完整性&#xff1a;保护数据免遭未经授权的修改、损坏…

SpringBoot【八】mybatis-plus条件构造器使用手册!

一、前言&#x1f525; 环境说明&#xff1a;Windows10 Idea2021.3.2 Jdk1.8 SpringBoot 2.3.1.RELEASE 经过上一期的mybatis-plus 入门教学&#xff0c;想必大家对它不是非常陌生了吧&#xff0c;这期呢&#xff0c;我主要是围绕以下几点展开&#xff0c;重点给大家介绍 里…

基于springboot+vue的高校校园交友交流平台设计和实现

文章目录 系统功能部分实现截图 前台模块实现管理员模块实现 项目相关文件架构设计 MVC的设计模式基于B/S的架构技术栈 具体功能模块设计系统需求分析 可行性分析 系统测试为什么我&#xff1f; 关于我项目开发案例我自己的网站 源码获取&#xff1a; 系统功能 校园交友平台…

33.攻防世界upload1

进入场景 看看让上传什么类型的文件 传个木马 把txt后缀改为png 在bp里把png改为php 上传成功 用蚁剑连接 在里面找flag 得到

基于Python+Sqlite3实现的搜索和推荐系统

基于Python实现的搜索和推荐系统 一、引言 伴随着科技的不断进步&#xff0c;互联网&#xff0c;万维网的不断发展。我们越来越热爱万维网&#xff0c;也欣赏他的发展方式。20世纪90年代初&#xff0c;万维网还只是一个将文档联系起来的简单网络。如今&#xff0c;他已经成为…

使用idea创建一个JAVA WEB项目

文章目录 1. javaweb项目简介2. 创建2.1 idea新建项目2.2 选择&#xff0c;命名2.3 打开2.4 选择tomcat运行2.5 结果 3. 总结 1. javaweb项目简介 JavaWeb项目是一种基于Java技术的Web应用程序&#xff0c;主要用于开发动态网页和Web服务。这种项目能够构建在Java技术栈之上&a…

【潜意识Java】Java基础教程:从零开始的学习之旅

目录 1. Java 简介 2. Java 程序结构 2.1 包声明&#xff08;Package Declaration&#xff09; 2.2 导入语句&#xff08;Import Statement&#xff09; 2.3 类声明&#xff08;Class Declaration&#xff09; 2.4 main 方法&#xff08;Main Method&#xff09; 3. Jav…

算法题(2):三步问题

审题&#xff1a;需要输出小孩上楼梯的方式的数量&#xff08;需要取模&#xff09; 思路&#xff1a; 如果正面来思考这个问题会无从下手&#xff0c;因为我们的分类太多了&#xff0c;没有办法把大问题缩小。 但是如果反过来思考&#xff0c;小孩最后一步有几种情况&#xff…

Quad Remesher使用教程

为什么要拓扑&#xff1f; 我们知道&#xff0c;模型在三维软件中的表现&#xff0c;是由一系列的面通过不同角度组合而成的。3D模型制作层面上的拓扑&#xff0c;按我的理解来说&#xff0c;就是一个模型的面的结构分布——布线。想表现和制作一个三维模型&#xff0c;有无限…