百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Ubuntu Linux 如何使用apt-get安装Nginx、MySQL、Redis、PHP

mhr18 2024-11-30 12:47 22 浏览 0 评论

Linux上有以下几种方式安装软件包

  • 使用编译的方式(configure, make, make install)安装。太耗费时间了,若不是非它不可,不会选择使用。
  • 使用宝塔。我用过两三次,已弃用。
  • 使用系统自带的包管理工具。若是Ubuntu,则使用apt-get方式安装。开发环境和生产环境,我都在用。
  • 使用docker。开发环境中,长期使用。生产环境中,偶尔会用。
  • k8s。我没有用过。

关于docker整合各个服务器的内容,可以阅读:

本文讲,在Ubuntu上,如何使用apt-get命令安装Nginx、MySQL、Redis、PHP。

Ngnix

# 安装nginx
sudo apt-get install nginx

# 查看所安装的nginx是哪个版本
# 方法1
dpkg -l | grep nginx
# 方法2
nginx -v

# 激活nginx服务 开机自启(开机时自动启动)
sudo systemctl enable nginx

# 禁用nginx服务 开机自启
sudo systemctl disable nginx

# 查看nginx服务 是否激活了开机自启
sudo systemctl is-enabled nginx

# 启动nginx服务
sudo systemctl start nginx

# 停止nginx服务
sudo systemctl stop nginx

# 直接kill掉nginx服务,慎用这个命令,一般用systemctl stop停止服务
sudo systemctl kill nginx

# 重启nginx服务
sudo systemctl restart nginx

# 查看nginx服务的状态
sudo systemctl status nginx

# 找到所安装的nginx配置文件的位置
locate nginx | grep conf

nginx配置文件的位置

  • /etc/nginx/nginx.conf
  • /etc/nginx/conf.d/*.conf
  • /etc/nginx/sites-enabled/*

MySQL

# 安装mysql server
sudo apt-get install mysql-server mysql-client libmysqlclient-dev

# 查看所安装的msql-server是哪个版本
dpkg -l | grep mysql-server

# 激活mysql服务 开机自启(开机时自动启动)
sudo systemctl enable mysql

# 禁用mysql服务 开机自启
sudo systemctl disable mysql

# 查看mysql服务 是否激活了开机自启
sudo systemctl is-enabled mysql

# 启动mysql服务
sudo systemctl start mysql

# 停止mysql服务
sudo systemctl stop mysql

# 直接kill掉mysql服务,慎用这个命令,一般用systemctl stop停止服务
sudo systemctl kill mysql

# 重启mysql服务
sudo systemctl restart mysql

# 查看mysql服务的状态
sudo systemctl status mysql

# 修改管理员密码
#  安装mysql server后,root默认密码为空,所以一开始执行下面这个命令不需要输入密码
$ sudo mysql -u root     
> UPDATE mysql.user SET plugin='mysql_native_password' WHERE User = 'root';
> FLUSH PRIVILEGES;
> QUIT;
> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
> FLUSH PRIVILEGES;
> QUIT;

# 找到所安装的mysql配置文件的位置
$ sudo locate mysql | grep cnf
/etc/mysql/debian.cnf
/etc/mysql/my.cnf
/etc/mysql/my.cnf.fallback
/etc/mysql/mysql.cnf
/etc/mysql/conf.d/mysql.cnf
/etc/mysql/conf.d/mysqldump.cnf
/etc/mysql/mysql.conf.d/mysql.cnf
/etc/mysql/mysql.conf.d/mysqld.cnf
/var/lib/mysql/auto.cnf

# 逐一查看locate命令找到的这些配置文件,我发现,
# mysql server的配置文件位于:  /etc/mysql/mysql.conf.d/mysqld.cnf
# mysql client的配置文件位于: /etc/mysql/mysql.conf.d/mysql.cnf

Redis

# 安装redis
$ sudo add-apt-repository ppa:redislabs/redis
$ sudo apt update
$ sudo apt install redis-server

# 查看所安装的redis-server是哪个版本
dpkg -l | grep redis-server

# 激活redis-server服务 开机自启(开机时自动启动)
sudo systemctl enable redis-server

# 禁用redis-server服务 开机自启
sudo systemctl disable redis-server

# 查看redis-server服务 是否激活了开机自启
sudo systemctl is-enabled redis-server

# 启动redis-server服务
sudo systemctl start redis-server

# 停止redis-server服务
sudo systemctl stop redis-server

# 直接kill掉redis-server服务,慎用这个命令,一般用systemctl stop停止服务
sudo systemctl kill redis-server

# 重启redis-server服务
sudo systemctl restart redis-server

# 查看redis-server服务的状态
sudo systemctl status redis-server

# 找到所redis-server启动是所用配置文件的位置
# 最后,确定位置为: /etc/redis/redis.conf
sudo locate redis | grep conf

# 另外,还可以通过以下这种方式确定redis-server启动时所用配置文件的位置
locate redis-server.service
cat /usr/lib/systemd/system/redis-server.service

PHP

虽说最近几年PHP就业机会不如从前,但是PHP有些产品,如phpMyAdmin、Laravel、Swoole、Wordpress等还是很不错的。

# 安装php-fpm以及各个扩展
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt install php7.4-{fpm,cli,common,gd,curl,mcrypt,mysql,readline,zip,bcmath,json,xml,bz2,mbstring}         # 安装顺序不能擅自调整,否则会出现安装某些扩展失败的情况
$ sudo apt install php7.4-{redis,swoole}

# 查看所安装的php-fpm是哪个版本
dpkg -l | grep php

# 不同版本的php-fpm有不同的启动和停止命令,命令格式为:
# sudo systemctl start/stop/restart/status/reload php[version_number]-fpm

# 激活php7.4-fpm服务 开机自启(开机时自动启动)
sudo systemctl enable php7.4-fpm

# 禁用php7.4-fpm服务 开机自启
sudo systemctl disable php7.4-fpm

# 查看php7.4-fpm服务 是否激活了开机自启
sudo systemctl is-enabled php7.4-fpm

# 启动php7.4-fpm服务
sudo systemctl start php7.4-fpm

# 停止php7.4-fpm服务
sudo systemctl stop php7.4-fpm

# 直接kill掉php7.4-fpm服务,慎用这个命令,一般用systemctl stop停止服务
sudo systemctl kill php7.4-fpm

# 重启php7.4-fpm服务
sudo systemctl restart php7.4-fpm

# 查看php7.4-fpm服务的状态
sudo systemctl status php7.4-fpm

# php --ini命令显示的是PHP CLI情形下加载的php.ini,而不是php-fpm启动时加载的php.ini
$ php --ini
Configuration File (php.ini) Path: /etc/php/7.4/cli
Loaded Configuration File:         /etc/php/7.4/cli/php.ini
Scan for additional .ini files in: /etc/php/7.4/cli/conf.d

# 找到php-fpm启动时所加载的php.ini的位置
# locate php.ini命令的结果找到几个php.ini,我估计是/etc/php/7.4/fpm/php.ini,但不确定
# 写一个phpinfo()的测试页面,在浏览器访问,就可以确定php-fpm启动时加载了哪个php.ini
# 最后确定,所加载的php.ini的位置为:/etc/php/7.4/fpm/php.ini
$ locate php.ini 
/etc/php/7.4/cli/php.ini
/etc/php/7.4/fpm/php.ini
/etc/php/7.4/fpm/php.ini.original
/usr/lib/php/7.4/php.ini-development
/usr/lib/php/7.4/php.ini-production
/usr/lib/php/7.4/php.ini-production.cli

# 找到php-fpm启动时所使用的php-fpm配置文件的位置
# 最后确定,位置为:/etc/php/7.4/fpm/php-fpm.conf
# 方法1
$ locate php7.4-fpm.service
$ cat /usr/lib/systemd/system/php7.4-fpm.service
# 方法2
$ locate php-fpm.conf
/etc/php/7.4/fpm/php-fpm.conf

在命令行终端执行php脚本时,如何指定一个php.ini,而不是使用默认的CLI的php.ini?可以通过-c命令选项指定一个定制过的php.ini,命令格式如下:

php -c <指定的php.ini的路径> <php脚本的路径>

相关推荐

Spring Boot 分布式事务实现简单得超乎想象

环境:SpringBoot2.7.18+Atomikos4.x+MySQL5.71.简介关于什么是分布式事务,本文不做介绍。有需要了解的自行查找相关的资料。本篇文章将基于SpringBoot...

Qt编写可视化大屏电子看板系统15-曲线面积图

##一、前言曲线面积图其实就是在曲线图上增加了颜色填充,单纯的曲线可能就只有线条以及数据点,面积图则需要从坐标轴的左下角和右下角联合曲线形成完整的封闭区域路径,然后对这个路径进行颜色填充,为了更美观...

Doris大数据AI可视化管理工具SelectDB Studio重磅发布!

一、初识SelectDBStudioSelectDBStudio是专为ApacheDoris湖仓一体典型场景实战及其兼容数据库量身打造的GUI工具,简化数据开发与管理。二、Select...

RAD Studio 、Delphi或C++Builder设计代码编译上线缩短开发时间

#春日生活打卡季#本月,Embarcadero宣布RADStudio12.3Athens以及Delphi12.3和C++Builder12.3,提供下载。RADStudio12.3A...

Mybatis Plus框架学习指南-第三节内容

自动填充字段基本概念MyBatis-Plus提供了一个便捷的自动填充功能,用于在插入或更新数据时自动填充某些字段,如创建时间、更新时间等。原理自动填充功能通过实现com.baomidou.myba...

「数据库」Sysbench 数据库压力测试工具

sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测试。目前支持的数据库有MySQL、Oracle和PostgreSQL。以...

如何选择适合公司的ERP(选erp系统的经验之谈)

很多中小公司想搞ERP,但不得要领。上ERP的目的都是歪的,如提高效率,减少人员,堵住财务漏洞等等。真正用ERP的目的是借机提升企业管理能力,找出管理上的问题并解决,使企业管理更规范以及标准化。上ER...

Manus放开注册,但Flowith才是Agent领域真正的yyds

大家好,我是运营黑客。前天,AIAgent领域的当红炸子鸡—Manus宣布全面放开注册,终于,不需要邀请码就能体验了。于是,赶紧找了个小号去确认一下。然后,额……就被墙在了外面。官方解释:中文版...

歌浓酒庄总酿酒师:我们有最好的葡萄园和最棒的酿酒师

中新网1月23日电1月18日,张裕董事长周洪江及总经理孙健一行在澳大利亚阿德莱德,完成了歌浓酒庄股权交割签约仪式,这也意味着张裕全球布局基本成型。歌浓:澳大利亚年度最佳酒庄据悉,此次张裕收购的...

软件测试进阶之自动化测试——python+appium实例

扼要:1、了解python+appium进行APP的自动化测试实例;2、能根据实例进行实训操作;本课程主要讲述用python+appium对APP进行UI自动化测试的例子。appium支持Androi...

为什么说Python是最伟大的语言?看图就知道了

来源:麦叔编程作者:麦叔测试一下你的分析能力,直接上图,自己判断一下为什么Python是最好的语言?1.有图有真相Java之父-JamesGoshlingC++之父-BjarneStrou...

如何在Eclipse中配置Python开发环境?

Eclipse是著名的跨平台集成开发环境(IDE),最初主要用来Java语言开发。但是我们通过安装不同的插件Eclipse可以支持不同的计算机语言。比如说,我们可以通过安装PyDev插件,使Eclip...

联合国岗位上新啦(联合国的岗位)

联合国人权事务高级专员办事处PostingTitleIntern-HumanRightsDutyStationBANGKOKDeadlineOct7,2025CategoryandL...

一周安全漫谈丨工信部:拟定超1亿条一般数据泄露属后果严重情节

工信部:拟定超1亿条一般数据泄露属后果严重情节11月23日,工信部官网公布《工业和信息化领域数据安全行政处罚裁量指引(试行)(征求意见稿)》。《裁量指引》征求意见稿明确了行政处罚由违法行为发生地管辖、...

oracle列转行以及C#执行语句时报错问题

oracle列转行的关键字:UNPIVOT,经常查到的怎么样转一列,多列怎么转呢,直接上代码(sshwomeyourcode):SELECTsee_no,diag_no,diag_code,...

取消回复欢迎 发表评论: