Ubuntu Linux 如何使用apt-get安装Nginx、MySQL、Redis、PHP
wptr33 2024-11-19 12:25 22 浏览
Linux上有以下几种方式安装软件包
- 使用编译的方式(configure, make, make install)安装。太耗费时间了,若不是非它不可,不会选择使用。
- 使用宝塔。我用过两三次,已弃用。
- 使用系统自带的包管理工具。若是Ubuntu,则使用apt-get方式安装。开发环境和生产环境,我都在用。
- 使用docker。开发环境中,长期使用。生产环境中,偶尔会用。
- k8s。我没有用过。
关于docker整合各个服务器的内容,可以阅读:
- 「Docker」 如何使用docker创建一个PHP 8.1的运行环境
- 「Docker」 如何使用docker创建一个 Django 4运行环境
- 「Docker」 如何使用docker创建一个Flask运行环境
本文讲,在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脚本的路径>
相关推荐
- redis的八种使用场景
-
前言:redis是我们工作开发中,经常要打交道的,下面对redis的使用场景做总结介绍也是对redis举报的功能做梳理。缓存Redis最常见的用途是作为缓存,用于加速应用程序的响应速度。...
- 基于Redis的3种分布式ID生成策略
-
在分布式系统设计中,全局唯一ID是一个基础而关键的组件。随着业务规模扩大和系统架构向微服务演进,传统的单机自增ID已无法满足需求。高并发、高可用的分布式ID生成方案成为构建可靠分布式系统的必要条件。R...
- 基于OpenWrt系统路由器的模式切换与网页设计
-
摘要:目前商用WiFi路由器已应用到多个领域,商家通过给用户提供一个稳定免费WiFi热点达到吸引客户、提升服务的目标。传统路由器自带的Luci界面提供了工厂模式的Web界面,用户可通过该界面配置路...
- 这篇文章教你看明白 nginx-ingress 控制器
-
主机nginx一般nginx做主机反向代理(网关)有以下配置...
- 如何用redis实现注册中心
-
一句话总结使用Redis实现注册中心:服务注册...
- 爱可可老师24小时热门分享(2020.5.10)
-
No1.看自己以前写的代码是种什么体验?No2.DooM-chip!国外网友SylvainLefebvre自制的无CPU、无操作码、无指令计数器...No3.我认为CS学位可以更好,如...
- Apportable:拯救程序员,IOS一秒变安卓
-
摘要:还在为了跨平台使用cocos2d-x吗,拯救objc程序员的奇葩来了,ApportableSDK:FreeAndroidsupportforcocos2d-iPhone。App...
- JAVA实现超买超卖方案汇总,那个最适合你,一篇文章彻底讲透
-
以下是几种Java实现超买超卖问题的核心解决方案及代码示例,针对高并发场景下的库存扣减问题:方案一:Redis原子操作+Lua脚本(推荐)//使用Redis+Lua保证原子性publicbo...
- 3月26日更新 快速施法自动施法可独立设置
-
2016年3月26日DOTA2有一个79.6MB的更新主要是针对自动施法和快速施法的调整本来内容不多不少朋友都有自动施法和快速施法的困扰英文更新日志一些视觉BUG修复就不翻译了主要翻译自动施...
- Redis 是如何提供服务的
-
在刚刚接触Redis的时候,最想要知道的是一个’setnameJhon’命令到达Redis服务器的时候,它是如何返回’OK’的?里面命令处理的流程如何,具体细节怎么样?你一定有问过自己...
- lua _G、_VERSION使用
-
到这里我们已经把lua基础库中的函数介绍完了,除了函数外基础库中还有两个常量,一个是_G,另一个是_VERSION。_G是基础库本身,指向自己,这个变量很有意思,可以无限引用自己,最后得到的还是自己,...
- China's top diplomat to chair third China-Pacific Island countries foreign ministers' meeting
-
BEIJING,May21(Xinhua)--ChineseForeignMinisterWangYi,alsoamemberofthePoliticalBureau...
- 移动工作交流工具Lua推出Insights数据分析产品
-
Lua是一个适用于各种职业人士的移动交流平台,它在今天推出了一项叫做Insights的全新功能。Insights是一个数据平台,客户可以在上面实时看到员工之间的交流情况,并分析这些情况对公司发展的影响...
- Redis 7新武器:用Redis Stack实现向量搜索的极限压测
-
当传统关系型数据库还在为向量相似度搜索的性能挣扎时,Redis7的RedisStack...
- Nginx/OpenResty详解,Nginx Lua编程,重定向与内部子请求
-
重定向与内部子请求Nginx的rewrite指令不仅可以在Nginx内部的server、location之间进行跳转,还可以进行外部链接的重定向。通过ngx_lua模块的Lua函数除了能实现Nginx...
- 一周热门
-
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
因果推断Matching方式实现代码 因果推断模型
-
git pull命令使用实例 git pull--rebase
-
git pull 和git fetch 命令分别有什么作用?二者有什么区别?
-
面试官:git pull是哪两个指令的组合?
-
git 执行pull错误如何撤销 git pull fail
-
git fetch 和git pull 的异同 git中fetch和pull的区别
-
git pull 之后本地代码被覆盖 解决方案
-
还可以这样玩?Git基本原理及各种骚操作,涨知识了
-
git命令之pull git.pull
-
- 最近发表
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)