0%

各种OS

Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。

各个发行版关系图

Linux发行版

Linux发行版


AliOS

一、常用命令

二、LNMP

  1. yum update
  2. 安装redis
  • yum search redis
    • yum info redis.x86_64
  • yum install redis
  • systemctl start redis.service
    • rpm -qa | grep redis
    • rpm -ql redis-6.2.7-1.0.2.al8.x86_64
  • redis-cli>config get dir
  1. 安装nginx
  • yum search nginx
    • yum info nginx
  • yum install nginx
  • systemctl start nginx
  • systemctl stop nginx
  • systemctl status nginx
  1. 安装php
  • yum search php
  • yum info php.x86_64
    • yum install php.x86_64
  • sudo yum install -y epel-release
  • sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
  • sudo yum install -y yum-utils
  • sudo yum-config-manager –enable remi-php74
    • 切换:sudo yum-config-manager –enable remi-php72
    • 禁用:sudo yum-config-manager –disable remi-php72
      • 本质:cat /etc/yum.repos.d/remi-php72.repo
  • sudo yum install -y php php-cli php-fpm php-common
  • sudo yum install -y php-mysqlnd php-json php-opcache php-gd php-curl php-openssl php-pdo php-redis
  • sudo systemctl start php-fpm
    • sudo systemctl stop php-fpm
  • sudo systemctl enable php-fpm
  1. 安装php扩展和依赖
  • yum install php-pdo php-mysqlnd php-gd
  • yum install php-devel
  • yum install php-pecl-zip.x86_64
  • systemctl restart php-fpm
  1. 安装mysql
  • yum -y install mysql-server –nogpgcheck
  • systemctl start mysqld.service
  • systemctl status mysqld.service
  • cat /var/log/mysql/mysqld.log |grep password,空密码
  • ALTER USER USER() IDENTIFIED BY ‘xxx’;
  • CREATE USER ‘root’@’%’ IDENTIFIED BY ‘yyy’;
  • GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ WITH GRANT OPTION;
  • flush privileges;
  1. 安装redis
  • yum search redis
  • yum install redis
  • systemctl start redis
  1. 安装php-redis扩展
  • cd /usr/local/src
  • wget https://pecl.php.net/get/redis-6.0.2.tgz
  • tar -zxvf redis-6.0.2.tgz
  • cd redis-6.0.2
  • phpize
    • yum install php-devel,安装成功后继续执行phpize
  • ./configure –with-php-config=/usr/bin/php-config
  • make && make install
  • php –ini
  • cd /etc/php.d/
  • cp 20-gd.ini 20-redis.ini
  • vim 20-redis.ini
  • systemctl restart php-fpm
  1. 安装应用
  • 通过ftp上传xg9.9自己开服版本sdk1.zip
  • 解压unzip xg9.9自己开服版本sdk1.zip
    • yum install unzip
  • 配置nginx:/etc/nginx/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
server{
listen 80;
server_name your_domain;
#root /path/to/thinkcmf/public;
root /home/www/asdf/public;

location / {
index index.php index.html index.htm;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}

location /api/ {
index index.php index.html index.htm;
if (!-e $request_filename)
{
#rewrite ^/(.*)$ /index.php?s=$1;
rewrite ^/api/(.*)$ /api/index.php?s=$1;
}
}

location ~* ^\/upload\/.+\.(html|php)$ {
return 404;
}

location ~* ^\/plugins\/.+\.(html|php)$ {
return 404;
}

location ~* ^\/themes\/.+\.(html|php)$ {
return 404;
}

#proxy the php scripts to php-fpm
location ~ \.php {
include fastcgi_params;
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
fastcgi_intercept_errors on;

#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php-fpm/www.sock;
# fastcgi_pass 如果是 sock形式,可能是下面的配置
# fastcgi_pass unix:/tmp/php-cgi.sock
}

}
  • 配置本地hosts
  • 重启nginx systemctl restart nginx.service
  • 浏览器访问:http://test.123.cn/,报502
    • 查看nginx错误日志:2024/07/24 10:23:28 [error] 35592#0: *10 connect() failed (111: Connection refused) while connecting to upstream, client: 123.52.10.83, server: test.abyss.cn, request: “GET / HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “test.123.cn”
    • 修改为sock方式:fastcgi_pass unix:/run/php-fpm/www.sock;
  • No input file specified或者500错误:
    • 删除public下的.user.ini
  • 404错误:修改目录权限&修改数据库配置&开启pdo
    • 查看配置文件:php –ini,缺少对应的扩展则安装
    • systemctl restart php-fpm.service
  • 报错:Base table or view not found: 1146 Table ‘database.table’ doesn’t exist
    • source xxx.sql
  • 访问http://test.123.cn/执行安装,最后一步报错
    • 修改/app/install/data/xxx.sql,修改为view_game_ids text default ‘’ COMMENT ‘查看指定的游戏’
  • 500错误:修改data目录权限
  1. 正式环境:登录客户阿里云账号,创建证书,域名解析,其他都一样
  2. 安装mongodb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 数据库数据存放目录
dbpath=/usr/local/mongodb/data/db
# 日志文件存放目录
logpath=/usr/local/mongodb/data/log/mongodb.log
# 日志追加方式
logappend=true
# 端口
port=27017
# 是否认证
auth=true
# 以守护进程方式在后台运行
fork=true
# 远程连接要指定ip,否则无法连接;0.0.0.0代表不限制ip访问
bind_ip=0.0.0.0
  • sudo vi /etc/profile
1
2
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
  • source /etc/profile
  • mongod -f /usr/local/mongodb/mongodb.conf
  • mongo
    • use admin
    • db.createUser({ user: “abc”, pwd: “123”, roles: [“root”] })
    • db.createUser({ user: “def”, pwd: “123”, roles: [“root”] })
    • quit()
  • sudo vi /etc/mongod.conf
1
2
security:
authorization: enabled
  • 重启服务,先kill进程,再启动:mongod -f /usr/local/mongodb/mongodb.conf
  • 登录:mongo -u abc -p 123 –authenticationDatabase admin
  • db.auth(‘abc’,’123’)
  1. 安装php-mongo
  • cd /usr/local/src
  • wget https://pecl.php.net/get/mongodb-1.19.3.tgz
  • tar -zxvf mongodb-1.19.3.tgz
  • cd mongodb-1.19.3
  • phpize
  • ./configure –with-php-config=/usr/bin/php-config
  • make && make install,安装成功:Installing shared extensions: /usr/lib64/php/modules/
  • ls /usr/lib64/php/modules/
  • php –ini
  • cd /etc/php.d/
  • cp 20-redis.ini 20-mongo.ini
  • vim 20-mongo.ini,加入extension=mongodb
  • systemctl restart php-fpm
  • php -m
  1. 初始化数据和修改代码
  • mongo -u abc -p 123 –authenticationDatabase admin
  • use database_name
  • 复制mongo.js的内容在命令行执行
  • 修改mongo数据库连接
  1. 香港迁移北京(手机端https链接不解析)
  • 登录香港服务器
  • 切换到代码目录
  • 打压缩包:tar -cvf aaa.tar.gz aaa
  • 下载到本地
  • 登录北京服务器
  • mkdir -p /home/www/
  • 上传到北京服务器
  • yum install nginx
  • systemctl start nginx
  • yum install php.x86_64
  • systemctl start php-fpm
  • yum install php-pdo php-mysqlnd php-gd php-devel
  • yum install redis
  • systemctl start redis
  • yum install mysql mysql-server
  • systemctl start mysqld.service
  • CREATE USER ‘root’@’%’ IDENTIFIED BY ‘123’;
  • GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ WITH GRANT OPTION;
  • flush privileges;
  • systemctl restart mysqld.service
  • yum install unzip
  • 修改代码data/conf/database.php
  • 修改权限public、data
  • sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

CentOS

一、常用命令

  1. 查找包:yum search package_name
  2. 安装包:yum install package_name
  3. 查看已安装
  • yum list installed
  • rpm -qa
  • dnf list –installed
  1. 查看已安装的特定包
  • yum list installed | grep httpd
  • rpm -qa | grep httpd
  1. 查看包信息
  • yum info package-name
  • rpm -qi package-name
  1. 查看包安装路径:rpm -ql package-name
  2. 查看包依赖关系
  • yum deplist package-name
  • rpm -q –requires package-name
  • dnf deplist package_name
  1. 卸载
  • yum remove package_name
    *yum remove package_name –nodeps
  • rpm -e package_name
    • rpm -e –nodeps
  • dnf remove package_name

二、LNMP

  1. yum update

  2. 安装nginx

  • yum search nginx
  • yum install nginx
  • systemctl start nginx.service
  • systemctl stop nginx.service
  • sudo systemctl enable nginx
  • ps -ef|grep nginx
  • 访问:http://8.222.168.167/
    • 异常:去阿里云后台开启80端口
  • 查看应用
    • yum list installed|grep nginx
    • rpm -ql nginx.x86_64
  1. 安装php
  • yum search php
    • yum info php.x86_64,版本太旧
  • sudo yum install -y epel-release
  • sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
  • sudo yum install -y yum-utils
  • sudo yum-config-manager –enable remi-php81
    • 切换:sudo yum-config-manager –enable remi-php72
    • 禁用:sudo yum-config-manager –disable remi-php72
      • 本质:cat /etc/yum.repos.d/remi-php72.repo
  • sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-json php-opcache php-gd php-curl php-openssl php-pdo php-redis
  • sudo systemctl start php-fpm
  • sudo systemctl stop php-fpm
  • sudo systemctl enable php-fpm
  1. 安装composer
  • php -r “copy(‘https://getcomposer.org/installer', ‘composer-setup.php’);”
  • php -r “if (hash_file(‘sha384’, ‘composer-setup.php’) === ‘dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6’) { echo ‘Installer verified’; } else { echo ‘Installer corrupt’; unlink(‘composer-setup.php’); } echo PHP_EOL;”
  • php composer-setup.php
  • php -r “unlink(‘composer-setup.php’);”
  • sudo mv composer.phar /usr/local/bin/composer
  1. 安装mysql
  • yum search mysql
  • 卸载mariadb和MySQL
    • rpm -qa|grep mariadb
      • rpm -e –nodeps mariadb-server
      • rpm -e –nodeps mariadb
      • rpm -e –nodeps mariadb-libs
    • rpm -qa|grep mysql
      • rpm -e –nodeps xxx
  • 查看系统版本:cat /etc/redhat-release
  • 下载yum源:wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm,详见yum源列表
    • {mysql80}-community-release-{platform}-{version-number}.noarch.rpm说明
      • {mysql80}:MySQL版本
      • {platform}:平台(系统)号,⽤来描述系统的版本
      • {version-number}:MySQL仓库配置RPM包的版本号
  • 安装yum源:sudo rpm -Uvh mysql80-community-release-el7-1.noarch.rpm
    • 会在/etc/yum.repos.d/目录下生成两个repo文件:mysql-community.repo及mysql-community-source.repo
  • 查看可安装的MySQL:yum repolist enabled | grep “mysql”
    • 查看所有MySQL版本:yum repolist all | grep mysql
    • 切换MySQL版本:
      • 通过yum-config-manager命令
        • sudo yum-config-manager –disable mysql57-community
        • sudo yum-config-manager –enable mysql80-community
      • 直接修改repo文件
  • 再次查看:yum repolist all | grep mysql
  • vim /etc/yum.repos.d/mysql-community.repo,修改:gpgcheck=0
  • 安装MySQL:sudo yum install mysql-community-server
  • 启动MySQL:sudo systemctl start mysqld.service
  • 查看MySQL:sudo systemctl status mysqld.service
  • 停止MySQL:sudo systemctl stop mysqld.service
  • 重启MySQL:sudo systemctl restart mysqld.service
  • 设置开机启动:
    • systemctl enable mysqld
    • systemctl daemon-reload
  • 查看默认密码:sudo grep ‘temporary password’ /var/log/mysqld.log,临时密码:asdfasdfa
  • 使用默认密码:mysql -uroot -p
  • 修改默认密码:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘dddd’;
  • 查看访问权限:select User,Host from mysql.user;
  • 设置远程访问:
    • CREATE USER ‘root’@’%’ IDENTIFIED BY ‘eeee’;
    • GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ WITH GRANT OPTION;
    • flush privileges;
  1. 安装redis
  • yum install redis
  • systemctl start redis.service

Ubuntu

一、常用命令

二、MySQL安装

  1. apt-get update

  2. apt-get install mysql-server

  3. systemctl status mysql.service

  4. mysql –version

  5. mysql -uroot -p

  • 初始密码为空
  1. 创建root远程登录用户
  • CREATE USER ‘root’@’%’ IDENTIFIED BY ‘aaaa’;
  • GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ WITH GRANT OPTION;
    • REVOKE ALL PRIVILEGES, GRANT OPTION FROM test;
  • FLUSH PRIVILEGES;
  1. 修改本地root用户初始密码
  • ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘aaaa’;
  • FLUSH PRIVILEGES;
    • 不生效
    • ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘bbbb’;
    • FLUSH PRIVILEGES;
  1. 查看安装位置
  • dpkg -L mysql-server
  • apt list –installed | grep mysql-server
  1. 查看配置文件
  • SHOW VARIABLES LIKE ‘config_file’;
  • mysql –help | grep “Default options”

OpenCloudOS


各种OS官网地址

  1. AlibabaCloudOS基于龙蜥
  2. OpenCloudOS官网
  3. CentOS
  4. Ubuntu
  5. Debian
  6. RedHat
  7. FreeBSD
  8. Fedora
  9. Deepin
  10. openSUSE
  11. Arch
  12. Gentoo
  13. Releases