Bootstrap

Linux基础-Ubuntu中三种安装方式

防火墙关闭命令  

centos

systermctl restart firewalld

setenforce 0  关闭selinux安全机制

ubuntu

ufw disable

安装依赖环境

apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential 

源位置

etc/apt/source.list   unbuntu的源位置(在线源)

etc/yum.repos.d/*.repo   centos的源位置(在线源和本地源)

ubuntu的源文件

source.list加上.bak会变成备份源   apt-get update 更新软件包

不同操作系统nginx源码包编译安装所需要的依赖环境

apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential(ubuntu)

yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel(centos)

1.0编译安装(初代安装方法)

遇到的问题

root@cwq-virtual-machine:~# ping -c 5 www.baidu.com
ping: www.baidu.com: 域名解析出现暂时性错误

解决方法:修改域名解析地址

root@cwq-virtual-machine:/usr/local# ln -s /usr/local/nginx/sbin/nginx /usr/local/
ln: 无法创建符号链接 '/usr/local/nginx': 文件已存在

解决方法:环境路径是usr/bin

nginx: [emerg] getpwnam("nginx--group=nginx") failed
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

解决方法:--user =nginx\ 没有空格

> --user=nginx\
> --group=nginx

编译安装源码包的过程(ubuntu)

ufw disabled
关闭防火墙

apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential
安装依赖环境,用apt包管理器下载一些库和工具
apt install -y lrzsz
lrzsz:是一个用于在 Linux 系统和 Windows 系统之间进行文件传输的软件包

cat /etc/passwd  查找该系统下的用户名
useradd -M -s /sbin/nologin nginx
为nginx的运行新建一个名为nginx的程序用户,不在home目录下创建用户文件夹,禁止用户登陆系统
-M 不给建立的用户创建家目录
-s /sbin/noligin 新建的用户为程序用户,不可以登陆系统,仅拥有可以执行程序的最小权限

rz -E
tar -xf nginx-1.22.0.tar.gz
解包

cd /opt/nginx-1.22.0 
ls
./configure --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx
nginx-1.22.0是源码包解压目录,configure是可执行文件,--prefix 指定的安装路径前缀,在这里是指将nginx安装到/usr/local/nginx下面
配置(会检查依赖环境)

make -j 4 && make install
编译安装,用cpu四核来编译

ln -s /usr/local/nginx/sbin/nginx /usr/bin/
创建软链接到环境路径下,可以在shell中直接输入nginx来执行

cd usr/local
ll
发现nginx的所属用户和所属用户组都是root
chown -R nginx.nginx /usr/local/nginx/
改变nginx安装目录的所属用户和所属用户组,-R表递归
cd /usr/local/nginx
root@cwq-virtual-machine:/usr/local/nginx# ls
conf  html  logs  sbin
mkdir run
为进程文件创建一个目录,每一个进程都有一个PID号,是唯一的
root@cwq-virtual-machine:/usr/local/nginx# ls
conf  html  logs  run  sbin
run目录已经创建
root@cwq-virtual-machine:/usr/local/nginx# chown  nginx.nginx run/
为run目录改变所属用户以及所属用户组

cd /usr/local/nginx/
ll  找nginx.conf
vim   nginx.conf
(#pid     logs/nginx.pid;)
修改成pid /usr/local/nginx/run/nginx.pid;
nginx -t  检查配置文件语法是否正确
vim lib/systemd/system/nginx.service    让系统识别到应用并且能控制,负责启动、停止和管理服务系统

unit:描述信息,依赖环境

service:后台运行,进程文件存放位置,启动nginx读取配置文件内容,启动,停用

install:多用户模式

systemctl daemon-reload
systemctl restart nginx
cd /usr/local/nginx/html
vim index.html  修改默认访问页面主页

编译安装的好处和坏处:

好处:1、开源,如果会代码,可以修改源代码

           2、可以自定义模块和功能

缺点:1、繁琐

2.0dpkg安装deb包(第二代安装方法)

查找依赖,不解决依赖

dpkg -l  查找软甲是否安装

dpkj -i   安装

dpkj -r   卸载

dpkj -p  完全清除

3.0apt安装方法(第三代安装方法)

apt自动化一键式安装  安装完成之后软件的默认位置都在/etc

  • RPM/DEB包:RPM/DEB包的安装位置通常不由安装者决定,而是由RPM包的作者预先设定,安装在多个默认路径中。
  • 源码包:源码包安装的服务不能被服务管理命令所管理,因为没有安装到默认路径中,所有只能用绝对路径进行服务的管理。

挂载命令:mount -t 指定文件系统的类型

                             -o 指定挂载的参数,指定挂载目录的权限与配额

                             -a 自动挂载,根据/etc/fatab的配置实现

                             -v 显示详细过程

挂载的规则:1、一个设备同时只能挂载一个目录

                      2、挂载点指的是linux系统中的目录,这个目录最好是一个空目录(新建的目录)

本地yum仓库建立过程:

mount /dev/sr0(cdrom)   /mnt    前一个是设备,后一个是挂载目录(绝对路径) 
cd etc/yum.repos.d

mkdir bak
mv *.repo ./bak/
vim cxk.repo
[cxk]
name=cxk
baseurl=file:///mnt
gpgcheck=0

yum clean all                     清除元数据
yum makeacahe                     
更新并且同步元数据,元数据提供软件包的位置,软件包之间的依赖关系,所以yum可以发现并且下载依赖关系,每次有新的源配置加入都需要更新元数据

yum install httpd -y
yum remove httpd -y
yum update 获取在线源软件包的最新版本



yum history

配置其他在线源的方法

wget http://mirrors.aliyun.com/repo/Centos-7.repo (阿里源配置的在线地址)centos

需要更新元数据

直接/etc/apt/sources.list文件里粘贴 ubuntu

不需要更新元数据(apt-get update就可以)

阿里源

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ jammy universe
deb-src http://mirrors.aliyun.com/ubuntu/ jammy universe
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates universe
deb http://mirrors.aliyun.com/ubuntu/ jammy multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu jammy-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu jammy-security main restricted
deb http://mirrors.aliyun.com/ubuntu jammy-security universe
deb-src http://mirrors.aliyun.com/ubuntu jammy-security universe
deb http://mirrors.aliyun.com/ubuntu jammy-security multiverse
deb-src http://mirrors.aliyun.com/ubuntu jammy-security multiverse

centos装nginx需要装一个第三方的源epel-release(yum -y install epel-release)

;