首页 文章 精选 资源 留言

精选列表

搜索[centos7],共1048篇文章
优秀的个人博客,低调大师

解决VM搭建CentOS7过程中,静态IP地址未起作用

一、问题描述 1、环境工具 VMware_workstation_full_12.5.2 CentOS-7-x86_64-Minimal-1511.iso SecureCRTPortable 2、出现问题 (1)启动虚拟机后,使用SecureCRT 连接,出现问题 Key exchange failed. No compatible hostkey. The server supports these methods: ecdsa-sha2-nistp256,ssh-ed25519 (2)排查过程中出现的问题 使用IfConfig命令查询发现,静态IP地址未起作用。 IfConfig和Ifcfg-eno16777736中IP地址不一样。 IfConfig查询IP 查询静态IP Windows 7中两个地址都可以Ping通 二、解决办法 1、更改VM网络编辑器中DHCP设置 (1)打开虚拟网络编辑器 (2)进入DHCP设置 (3)原DHCP设置更改范围 2、更改Ifcfg-eno16777736中BOOTPROTO参数 BOOTPROTO=static 静态IP BOOTPROTO=dhcp 动态IP BOOTPROTO=none 无(不指定)

优秀的个人博客,低调大师

centos7 Docker 局域网私有仓库v2 nginx https 配置

本次采用 VirtualBox 虚拟局域网环境,两台虚拟机均配置两块网卡,网卡1桥接模式,网卡2host-only模式 192.168.56.* 为host-only模式网卡IP 私有仓库主机IP 192.168.56.222 客户机IP 192.168.56.101 ssl证书从腾讯云免费申请 从腾讯云申请证书之后下载,得到文件 docker.khs1994.com.zip #scp docker.khs1994.com.zip root@192.168.56.222:/root 上边这一命令是从本机将证书上传到私有仓库主机 root家目录下 #yum install zip unzip -y #unzip docker.khs1994.com.zip 解压之后得到文件 1_docker.khs1994.com_cert.crt 2_docker.khs1994.com.key #mkdir certs #mv 1* 2* certs docker run -d -p 5000:5000 --restart=always --name registry \ -v /root/docker:/var/lib/registry \ -v /root/certs:/certs \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/1_docker.khs1994.com_cert.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/2_docker.khs1994.com.key \ registry 配置nginx 安装nginx 见我的另一篇文章 创建一个登陆用户 (如果没有htpasswd命令 请安装httpd-tools这个包) #yum install httpd-tools #htpasswd -c /etc/nginx/docker-registry.htpasswd admin New password: Re-type new password: Adding password for user admin(此处是设置用户名和密码,我用户密码均设为admin,密码输入两次) 配置nginx主配置文件 # cd /etc/nginx/ # vi nginx.conf ... http { include mime.types; default_type application/octet-stream; include conf.d/*.conf #引入子域名配置文件* #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; ... 配置子域名 # mkdir conf.d ; cd conf.d ;vi docker.conf upstream docker-registry { server 127.0.0.1:5000; } server { listen 443; server_name docker.khs1994.com; #enabled ssl ssl on; ssl_certificate /root/certs/1_docker.khs1994.com_cert.crt; ssl_certificate_key /root/certs/2_docker.khs1994.com.key; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 0; chunked_transfer_encoding on; location / { #root html; #index index.html index.htm index.php; auth_basic "Restricted"; auth_basic_user_file docker-registry.htpasswd; proxy_pass https://docker-registry; location /v2/ { auth_basic "Restricted"; auth_basic_user_file docker-registry.htpasswd; proxy_pass https://docker-registry; } 客户机操作 修改host文件 将仓库主机IP192.168.56.222 指向docker.khs1994.com # vi /etc/hosts 192.168.56.222 docker.khs1994.com #最后一行增加内容 测试私有仓库功能 # docker login https://docker.khs1994.com #接下来输入用户名密码均为admin # docker pull centos # docker tag centos docker.khs1994.com/centos:16.10.08 # docker push docker.khs1994.com/centos:16.10.08 参考链接 http://www.jb51.net/os/other/369064.html

优秀的个人博客,低调大师

Centos7一些常用命令的不常用用法

1. root下进入其他用户主目录 cd ~USERNAME 2. touch的另外的一种作用 常用的是touch创建一个不存在的文件 而touch一个存在的文件时候,touch会修改文件的三个时间(使用stat可以查看),其中access表示最后一个访问时间,modify表示最后一次修改文件的时间,change表示最后修改文件属性的时间 3. file查看文件类型 镜像文件(iso)的文件类型为iso9660 4./etc/passwd中各字段对应解释 1 用户名:2密码:3uid:4gid:5备注:6home目录:7登录shell 该文件的内容是通过useradd命令生成,每使用useradd一次,在/etc/passwd追加一行 需要注意的是rhcl6版本中0-500表示系统账户,而rhcl7版本依赖0-1000表示系统账户 useradd: -u UID #指定uid,不使用该选项,则默认为普通账户即uid>=1000,且不与现存uid冲突 -g 已存在GID/组名 #指定所属用户组,不选用该选项,同时默认在/etc/group文件中追加一行信息,其中组名默认与用户名一致。 -G 指定附加组 # -M 强制不建立home目录 -s 指定登录shell #/sbin/nologin为不可登录shell 相关命令还有userdel(删除用户)、usermod(修改用户)、groupadd(增加用户组)、groupdel(删除用户组) userdel -r USERNAME #删除用户的同时删除home目录下所有信息 usermod -aG GNAME1...GNAMEN USERNAME #追加附加组 /etc/passwd中的密码不再直接显示,用x代替。密码保存在/etc/shadow(无任何可读写执行权限)中,修改密码使用passwd命令(交互式)实现。 非交互式修改密码:echo "NEWPASSWD"|passwd --stdin USERNAME 5. ls -l 命令显示的信息详释 第一行中total表示当前目录下所有内容总共所占大小,默认单位为kb 余下行中的最后一个字段为为文件名,第6,7,8字段表示文件(目录)最近访问(修改)时间 第5个字段表示文件所占空间,默认单位为byte,可使用ls -lh以kb显示 第3,4个字段分别描述文件所属的用户名及属主组 可使用chown 用户名:组名 文件名/chown -R 用户名:组名 目录名 修改其属主及属主组 第2个字段表示该文件的硬链接数 第1个字段共10个字母。 第一个字母表示文件类型 -:普通文件 d:目录文件 c:字节文件 b:块文件 p:管道文件 s:socket文件 等等 后9个字母,每三个为一组。第一组为当前用户关于此文件的操作权限,第二组为属主组内其他用户的操作权限,第三组为其他属主组内用户对此文件的操作权限 非目录文件: r(4)表示可读,w(2)表示可写,x(1)表示可执行 目录:r表示可以查看目录下的内容 w表示可以向目录里写内容 x表示可进入这个目录 (只有wx同时存在才能真正在该目录内操作) 创建一个文件或目录默认的权限通过如下获取: 文件:0666-umask(若umask的存在某位为奇数,计算之后必须在对应奇数位加1) 目录:0777-umask 还有三种比较特殊的权限: 分别是suid(4)、sgid(2)、sbit(1),这三种权限分别显示在三组字母的第三位。若分别为小写的s,s,t,则表示拥有x权限。对应为S,S,T,表示无对应的x权限。 拥有suid权限时,其他用户执行这条命令,将会获取该命令的拥有人权限,可以访问一些自身并没有访问权限的文件。 我们修改目录的属主组时,希望该目录下所有文件继承该属主组 从上图可以看出,并没有达到效果,我们增加sgid权限,可以达到如期效果 用户对拥有sbit权限的目录具有wx权限时,用户在该目录下创建的文件及目录,只有自身与root才可以删除。 6. 登录shell与非登录shell中一些知识 登录shell往往是通过用户名及密码登录系统时所用shell。 非登录shell则往往不需要用户名及密码 su - USERNAME属于登录shell。而su USERNAME与非登录shell 非登录shell状态通过exit退出,而登录shell状态主要使用logout退出(exit也可以) 登录shell与非登录shell最主要的区别是读取的配置文件不同。这里涉及四个配置文件1:/etc/bashrc,2:/etc/profile,3:~/.bashrc,4:~/.bash_profile。 其中1,2为全局层面,3,4是局部层面;通常我们在1,3里定义别名alias,在2,4定义变量。 非登录shell不会读取2,4中的内容。通常编写的shell脚本出现定义的环境变量不存在,往往需要手动让其生效(source或者.)。同时对1,2,3,4修改,必须通过source(.)让其生效。 source(.) xxx.sh、bash xxx.sh 及 (chmod u+x xxx.sh; ./xxx.sh)执行脚本的主要不同。 后两者主要通过开启一个子进程去执行脚本,执行结果返回给父进程。 而source(.)是在当前进程直接运行脚本。下图给出了一个简单的对比情况,source之后,当前shell进程直接结束。 还有一些关于变量的命令: set:显示及设置私有变量以及用户变量 env:显示及设置用户变量变量 export:将本地变量上升到一个环境变量。不export,则定义的变量不会被其他非登录shell继承。而即使export,登录到其他shell,也不会继承该变量。同时定义的本地变量重启失效,所以建议自选择地加入上述四个配置文件中。

优秀的个人博客,低调大师

阿里云 Centos7 部署Java web [jar/war/virmach+vps+域名服务]

(一)第一部分:最基本的jar包运行(无需配置tomcat) [http://60.205.183.114:8081/] 1、配置阿里云(Esc学生服务器、镜像Centos7.7),并远程连接进入终端。 2、安装并配置JDK(参考https://www.jianshu.com/p/093413f2a04f)a)安装jdk。 b)寻找jdk路径配置环境变量。c)简单的Java hello world测试确保安装成功。 3、安装并配置mysql(mariadb)(参考https://blog.csdn.net/DaSo_CSDN/article/details/54754936)a)安装mysql、mariadb server。 b)systemctl 开启服务。c) 打开端口。(阿里云要在控制台打开,参考https://yq.aliyun.com/articles/701181)d) 更改mysql 的root密码,对应于项目配置文件中的密码。 4、利用scp进行文件传输(参考https://www.cnblogs.com/tugenhua0707/p/8278772.html)a)传输spring maven 的快照版本用于测试。 b)传输数据库sql文件。 5、导入数据库a)创建sql文件对应的数据库。 b)利用文件重定向运行sql文件。c)检查数据库是否导入成功 6、运行jar文件,控制台获取公网IP,本机输入IP:8081测试。 7、设置后台运行(已设置:http://60.205.183.114:8081/)a)contrl+c中止。 b)然后通过nohup 和 & 来后台运行。c)ps通过pid来停止后台运行进程。 运行结果整体过程: [root@iZ2ze4r3b4xcztbcsey08cZ ~]# history 1 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER""; 2 yum install -y mysql 3 yum install -y mariadb-server mariadb 4 systemctl start mariadb 5 systemctl enable mariadb 6 yum install -y mysql-devel 7 firewall-cmd --zone=public --add-port=3306/tcp --permanent 8 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END" 9 ls 10 ifconfig 11 ls 12 yum list 13 java -version 14 ls 15 yum search java-1.8 16 yum -y install java-1.8.0-openjdk-devel.x86_64 17 java -version 18 cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/ 19 pwd 20 vim /etc/profile 21 . /etc/profile 22 vim Demo.java 23 javac Demo.java 24 java Demo 25 su 26 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER""; 27 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END" 28 mysql -u root 29 ls 30 pwd 31 ifconfig 32 ls 33 mysql 34 mysql -u root jpetstore < jpetstore.sql 35 mariadb 36 mysql 37 java -jar mypetstore-0.0.3-SNAPSHOT.jar 38 nohup java -jar mypetstore-0.0.3-SNAPSHOT.jar & 39 ps 40 history [root@iZ2ze4r3b4xcztbcsey08cZ ~]# 控制台开端口 利用scp传文件 运行mysql 文件 [root@iZ2ze4r3b4xcztbcsey08cZ ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 5.5.65-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database jpetstore; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> quit Bye [root@iZ2ze4r3b4xcztbcsey08cZ ~]# mysql -u root jpetstore < jpetstore.sql [root@iZ2ze4r3b4xcztbcsey08cZ ~]# mariadb -bash: mariadb: command not found [root@iZ2ze4r3b4xcztbcsey08cZ ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 5 Server version: 5.5.65-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | jpetstore | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec) MariaDB [(none)]> use jpetstore; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [jpetstore]> show tables; +---------------------+ | Tables_in_jpetstore | +---------------------+ | account | | addlog | | bannerdata | | browselog | | cart | | cartitem | | category | | inventory | | item | | lineitem | | orders | | orderstatus | | product | | profile | | sequence | | signon | | supplier | +---------------------+ 17 rows in set (0.00 sec) 访问http://60.205.183.114:8081/ (二)第二部分:利用Tomcat容器对war包进行处理(需要Tomcat) [http://60.205.183.114:8080/myJPetStore_war/index.jsp] 1、安装Tomcat(参考https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-centos-7)a)本地下载tomcat,然后利用scp文件传输 b)设置访问权限c)设置服务配置d)输入IP:8080测试是否已经开启服务 2、数据库/端口配置a)数据库root 密码 和服务器对应 b)端口配置,在上面已经开启了8080端口 3、利用scp传输war包,放到webapp里边(直接会解析出文件) 4、重启tomcat服务a)bin下的shutdown.sh b)bin下的startup.sh 5、本机测试访问a)注意要添加访问的资源的路径/myJPetStore_war/index.jsp,然后tomcat容器会自动到webapp下去寻找 b) 已设置tomcat容器:http://60.205.183.114:8080/myJPetStore_war/index.jsp 运行结果整体过程 52 ls 53 sudo mkdir /opt/tomcat 54 sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1 55 cd /opt/tomcat 56 sudo chgrp -R tomcat /opt/tomcat 57 sudo chmod -R g+r conf 58 sudo chmod g+x conf 59 sudo chown -R tomcat webapps/ work/ temp/ logs/ 60 sudo vi /etc/systemd/system/tomcat.service 61 sudo systemctl daemon-reload 62 sudo systemctl start tomcat 63 sudo systemctl status tomcat 64 sudo systemctl enable tomcat 65 ls 66 cd webapps/ 67 pwd 68 ls 69 sudo systemctl restart tomcat 70 cd ../bin/ 71 ls 72 sh shutdown.sh 73 sh startup.sh 74 history [root@iZ2ze4r3b4xcztbcsey08cZ bin]# 利用systemctl查看tomcat的状态 验证是否开启tomcat服务 将war包直接传入webapp中 然后webapp会自动解析war包(即myJPetStore_war) [root@iZ2ze4r3b4xcztbcsey08cZ webapps]# pwd /opt/tomcat/webapps [root@iZ2ze4r3b4xcztbcsey08cZ webapps]# ls docs examples host-manager manager myJPetStore_war myJPetStore_war.war ROOT 访问http://60.205.183.114:8080/myJPetStore_war/index.jsp (三)第三部分:指定域名进行访问 [http://crf.codes/] 1、配置virmach vps,达到可以通过IP进行访问a)过程同第一步,最后设置为后台运行。 b) 已配置:http://198.12.120.212:8081/ 2、服务器安装web server (安装nginx,参考http://blog.kenyang.net/2019/02/26/upgrade-nginx-to-latest-version-on-centos) 3、在域名提供商 name(或者cloudflare)进行DNS域名解析,进行请求中转。a)ping 域名(ping crf.codes)查看是否绑定成功。 4、修改nginx 配置文件a)Web server 设定域名 b)Location 配置index界面c)开放Linux系统防火墙d)访问crf.code http://crf.codes/ 运行结果域名提供商(name)配置dns 验证dns是否配置成功ping crf.codes,可以看到 修改nginx配置文件 server { listen 80; server_name crf.codes; #charset koi8-r; access_log /var/log/nginx/host.access.log main; location / { # root /usr/share/nginx/html; index index.html index.htm; proxy_pass http://127.0.0.1:8081/; # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } 访问crf.codes

优秀的个人博客,低调大师

CentOS7源码编译安装nginx+php7.2+mysql5.7并使用systemctl管理

相关笔记:CentOS7yum安装nginx+php7+mysqlCentOS6.9源码编译安装nginx+php7+mysql环境CentOS6.9yum安装nginx+php7+mysql环境1.安装nginx安装依赖 yum -y install gcc gcc-c++ wget automake autoconf libtool libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed pcre-devel openssl openssl-devel 创建一个不能登录的nginx运行用户 groupadd www-data useradd -s /sbin/nologin -g www-data www-data 创建源码保存目录和运行时的临时文件夹,下载nginx源码,当前稳定版为nginx-1.14.2 mkdir -p /var/cache/nginx mkdir -p /usr/local/src/nginx cd /usr/local/src/nginx wget -c http://nginx.org/download/nginx-1.14.2.tar.gz 解压 tar -zxvf nginx-1.14.2.tar.gz cd /usr/local/src/nginx/nginx-1.14.2 编译前配置检查 ./configure \ --prefix=/usr/local/nginx \ --sbin-path=/usr/local/nginx/sbin/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/run/nginx.lock \ --http-client-body-temp-path=/var/cache/nginx/client_temp \ --http-proxy-temp-path=/var/cache/nginx/proxy_temp \ --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \ --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \ --http-scgi-temp-path=/var/cache/nginx/scgi_temp \ --user=www-data \ --group=www-data \ --with-pcre \ --with-http_v2_module \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_stub_status_module \ --with-http_auth_request_module \ --with-mail \ --with-mail_ssl_module \ --with-file-aio \ --with-http_v2_module \ --with-threads \ --with-stream \ --with-stream_ssl_module 配置检查完毕,已经创建了Makefile creating objs/Makefile Configuration summary + using threads + using system PCRE library + using system OpenSSL library + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/var/run/nginx.pid" nginx error log file: "/var/log/nginx/error.log" nginx http access log file: "/var/log/nginx/access.log" nginx http client request body temporary files: "/var/cache/nginx/client_temp" nginx http proxy temporary files: "/var/cache/nginx/proxy_temp" nginx http fastcgi temporary files: "/var/cache/nginx/fastcgi_temp" nginx http uwsgi temporary files: "/var/cache/nginx/uwsgi_temp" nginx http scgi temporary files: "/var/cache/nginx/scgi_temp" 编译,安装 make make install 修改配置nginx详细配置请移步(nginx的configure参数,配置文件,虚拟主机配置,信号控制) vim /usr/local/nginx/conf/nginx.conf user www-data; pid /var/run/nginx.pid; 启动nginx /usr/local/nginx/sbin/nginx 查看进程 ps aux|grep nginx 杀掉进程 pkill -9 nginx 配置服务 vim /usr/lib/systemd/system/nginx.service 输入如下配置 [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/var/run/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID ExecStartPost=/bin/sleep 0.1 [Install] WantedBy=multi-user.target 注意:如果你是单核服务器,需要加ExecStartPost=/bin/sleep 0.1 否则在执行systemctl start nginx之后,在执行systemctl status nginx时 会出现systemd[1]: Failed to read PID from file /var/run/nginx.pid: Invalid argument 这是因为nginx还未启动完成,systemctl就去寻找pid进程文件了,这是一个已知的bug 地址https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864 重新载入 systemd systemctl daemon-reload 开启开机启动 systemctl enable nginx.service Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. 启动和查看nginx状态 systemctl start nginx systemctl status nginx ● nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since 五 2019-01-04 18:24:18 CST; 9min ago Docs: http://nginx.org/en/docs/ Process: 75573 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS) Process: 75576 ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 75577 (nginx) CGroup: /system.slice/nginx.service ├─75577 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf └─75578 nginx: worker process 1月 04 18:24:18 jmsiteos7 systemd[1]: Stopping nginx - high performance web server... 1月 04 18:24:18 jmsiteos7 systemd[1]: Stopped nginx - high performance web server. 1月 04 18:24:18 jmsiteos7 systemd[1]: Starting nginx - high performance web server... 1月 04 18:24:18 jmsiteos7 systemd[1]: Started nginx - high performance web server. 2.安装mysql注:MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。因此,我们首先要在系统中源码编译安装cmake工具。安装依赖 yum install -y cmake gcc-c++ bison bison-devel ncurses-devel perl-Data-Dumper boost boost-doc boost-devel 创建mysql用户和用户组 groupadd mysql useradd -g mysql mysql 创建源码存放目录,下载,解压 mkdir -p /usr/local/src/mysql cd /usr/local/src/mysql wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz tar -zxvf mysql-boost-5.7.20.tar.gz cd mysql-5.7.20 创建相应目录并授权 mkdir -p /usr/local/mysql/data chown -R mysql:mysql /usr/local/mysql/ touch /var/log/mysql.log chown -R mysql:mysql /var/log/mysql.log mkdir -p /var/lib/mysql chown -R mysql:mysql /var/lib/mysql mkdir -p /var/run/mysqld chown -R mysql:mysql /var/run/mysqld 配置检查 cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_unicode_ci \ -DWITH_DEBUG=0 \ -DMYSQL_MAINTAINER_MODE=0 \ -DWITH_SYSTEMD=1 \ -DWITH_BOOST=boost \ -DWITH_SSL:STRING=bundled \ -DWITH_ZLIB:STRING=bundled 编译,安装 make make install 修改mysql配置 vim /etc/my.cnf 如下设置 [mysql] default-character-set=utf8 socket=/var/lib/mysql/mysql.sock [mysqld] init-connect = 'SET NAMES utf8' character-set-server = utf8 basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/var/lib/mysql/mysql.sock user = mysql explicit_defaults_for_timestamp=true bind-address = 0.0.0.0 server-id = 1 log_error=/var/log/mysql.log # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid 加入环境变量 vim /etc/profile 尾部加入下面两行 PATH=$PATH:/usr/local/mysql/bin/ export PATH 执行source使环境变量立即生效 source /etc/profile 初始化数据库,安装密钥 mysqld --defaults-file=/etc/my.cnf --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql mysql_ssl_rsa_setup --initialize-insecure不生成随机密码 --initialize生成随机密码 设置开机启动 cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system 重新载入 systemd systemctl daemon-reload 开机启动 systemctl enable mysqld.service systemctl start mysqld.service [root@jmsiteos7 mysql-5.7.20]# systemctl status mysqld.service ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since 五 2019-01-04 15:36:52 CST; 3s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 30737 ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 30719 ExecStartPre=/usr/local/mysql/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 30740 (mysqld) CGroup: /system.slice/mysqld.service └─30740 /usr/local/mysql/bin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid 1月 04 15:36:51 jmsiteos7 systemd[1]: Starting MySQL Server... 1月 04 15:36:52 jmsiteos7 systemd[1]: Started MySQL Server. 设置密码(如果初始化参数是--initialize,这步跳过) mysql_secure_installation 登录mysql [root@jmsiteos7 ~]# mysql -uroot -p mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.20 Source distribution Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. 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> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql> set password for root@localhost = password('yourpassword'); mysql> flush privileges; mysql> quit; Bye 3.安装php安装依赖 yum install libxml2 libxml2-devel curl-devel openjpeg openjpeg-devel openjpeg-libs libjpeg libjpeg-devel libpng freetype libpng-devel freetype-devel openssl openssl-devel 创建源码保存目录,下载,解压 mkdir -p /usr/local/src/php72 cd /usr/local/src/php72 wget -c http://cn2.php.net/get/php-7.2.13.tar.gz tar -xzvf php-7.2.13.tar.gz cd php-7.2.13 配置检查 ./configure --prefix=/usr/local/php72 \ --with-config-file-path=/usr/local/php72/etc \ --with-config-file-scan-dir=/usr/local/php72/etc/php.d \ --with-mhash \ --disable-debug \ --disable-rpath \ --enable-mysqlnd \ --with-mysqli \ --with-pdo-mysql \ --enable-fpm \ --with-fpm-user=www-data \ --with-fpm-group=www-data \ --with-gd \ --with-iconv \ --with-zlib \ --enable-bcmath \ --enable-xml \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --enable-mbregex \ --enable-mbstring \ --enable-ftp \ --with-openssl \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --without-pear \ --with-gettext \ --enable-session \ --with-curl \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir 编译,安装 make -j4 make install 设置环境变量 vim /etc/profile 文件末尾加入如下两行代码 PATH=$PATH:/usr/local/php72/bin/:/usr/local/php72/sbin/ export PATH 使之立即生效 source /etc/profile 测试一下 [root@jmsiteos7 php-7.2.13]# php -v PHP 7.2.13 (cli) (built: Jan 4 2019 17:35:17) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies 设置php.ini和php-fpm.conf,www.conf进入源码目录 cd /usr/local/src/php72/php-7.2.13 复制示例配置 cp php.ini-development /usr/local/php72/etc/php.ini #或 cp php.ini-production /usr/local/php72/etc/php.ini 进入php.ini目录 cd /usr/local/php72/etc 打开配置文件 vim /usr/local/php72/etc/php.ini 更改pdo_mysql.default_socket为上面安装mysql时.sock设定的位置 pdo_mysql.default_socket = /var/lib/mysql/mysql.sock 如果不设置,php通过pdo连接mysql时会报SQLSTATE[HY000] [2002] No such file or directory复制fpm示例配置 cp php-fpm.conf.default php-fpm.conf 进入php-fpm.d目录 cd /usr/local/php72/etc/php-fpm.d 复制www.conf cp www.conf.default www.conf 设置php-fpm开机启动 cp /usr/local/src/php72/php-7.2.13/sapi/fpm/php-fpm.service /usr/lib/systemd/system/ 重新载入 systemd systemctl daemon-reload 启用开机启动 systemctl enable php-fpm Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service. 启动php-fpm systemctl start php-fpm 查看状态 [root@jmsiteos7 php-fpm.d]# systemctl status php-fpm ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled) Active: active (running) since 五 2019-01-04 17:55:16 CST; 5s ago Main PID: 70669 (php-fpm) CGroup: /system.slice/php-fpm.service ├─70669 php-fpm: master process (/usr/local/php72/etc/php-fpm.conf) ├─70670 php-fpm: pool www └─70671 php-fpm: pool www 1月 04 17:55:16 jmsiteos7 systemd[1]: Started The PHP FastCGI Process Manager. 4.验证安装的nginx,php,mysql编辑nginx配置文件 vim /usr/local/nginx/conf/nginx.conf #更改运行用户 user www-data; #编辑server段,默认文件添加index.php location / { root html; index index.php index.html index.htm; } #匹配php的配置块取消注释并更改/scripts为$document_root location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 保存并退出,重启nginx systemctl restart nginx nginx默认的web目录下新建index.php vim /usr/local/nginx/html/index.php 输入如下php代码 <?php $dbms='mysql'; //数据库类型 $host='localhost'; //数据库主机名 $dbName='mysql'; //使用的数据库 $user='root'; //数据库连接用户名 $pass=''; //对应的密码 $dsn="$dbms:host=$host;dbname=$dbName"; try { $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象 echo "连接成功<br/>"; foreach ($dbh->query('SELECT db from db') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { die ("Error!: " . $e->getMessage() . "<br/>"); } ?> 浏览器访问你的站点原文地址:https://www.jmsite.cn/blog-310.html

优秀的个人博客,低调大师

elasticsearch安装与使用(1)-- centos7 elasticsearch的两种简单安装方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/81607961 前言 elasticsearch(下面称为ES)是一个基于Lucene的搜索服务器(By 百度百科:查看)。所以他需要java的环境即jdk,这里提供懒人一键安装方式 1 yum install java* 简单配置 1 vim /etc/profile 在尾部加上 export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91.x86_64 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin 保存退出后使用命令更新配置 1 source /etc/profile 这个命令避免对java不熟悉的开发人员的误操作,能够避免学习繁杂的知识点。这个命令也是保证jvm是比较新的版本,官网上说最好是1.8.0_73的版本(We recommend installing Java version1.8.0_73 or later)。官网也有各种安装方法(点击这里查看),这里提供的是yum安装。 注:如果已经安装了ES和ik,需要重新安装,需要把/usr/share/elasticsearch/plugins/路径下ik删除,避免版本不匹配导致ES不能启动 安装方法一、yum方式安装 一、ES的yum安装配置 由于ES不在yum的本地源,所以我们需要添加ES的yum配置。 1、下载并安装ES的yum公钥 1 rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch 2、配置ES的yum源 1 vim /etc/yum.repos.d/elasticsearch.repo 输入下面的内容: [elasticsearch-2.x] name=Elasticsearch repository for 2.x packages baseurl=http://packages.elastic.co/elasticsearch/2.x/centos gpgcheck=1 gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch enabled=1 二、yum安装ES 1、更新yum的缓存 1 yum makecache 2、安装ES 1 yum install elasticsearch 三、测试ES 1、配置和启动ES服务器进程 1 2 3 /sbin/chkconfig --add elasticsearch systemctl start elasticsearch 2、查看状态 1 systemctl status elasticsearch 3、运行测试 1 curl -X GET localhost:9200 返回的json结果如下: { "name" : "Amalgam", "cluster_name" : "elasticsearch", "cluster_uuid" : "q1JTidLuTNecwBbFNJCUFQ", "version" : { "number" : "2.4.1", "build_hash" : "c67dc32e24162035d18d6fe1e952c4cbcbe79d16", "build_timestamp" : "2016-09-27T18:57:55Z", "build_snapshot" : false, "lucene_version" : "5.5.2" }, "tagline" : "You Know, for Search" } 四、通过IP访问ES的配置 1、打开/etc/elasticsearch/elasticsearch.yml 1 vim /etc/elasticsearch/elasticsearch.yml 55行的network.host,把后面改为0.0.0.0或者虚拟机ip地址,这样就可以在window系统用浏览器通过访问虚拟机的ip,正确访问效果如下 安装方法二、超级方便的下载rpm包安装方式 1.百度elasticsearch,点击官网网址 2.点击Downloads,选择past releases 3.找到2.3.5的版本,(由于elasticsearch更新太快,插件更新进度跟不上,2.3.5的版本插件最齐全) 4.右键点击RPM选择 -- 复制连接地址 5.在根目录下载rmp包 wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.3.5/elasticsearch-2.3.5.rpm 6.直接解压安装,超级方便,一步到位 rpm -ivh elasticsearch-2.3.5.rpm systemctl daemon-reloa 7.启动并查看安装状态 systemctl start elasticsearch systemctl status elasticsearch 8.本地查看版本信息 curl -XGET "127.0.0.1:9200" 9.查找elasticsearch 安装路径与配置路径,并且配置 whereis elasticsearch vim /etc/elasticsearch/elasticsearch.yml 修改: 保存退出后重启elasticsearch systemctl restart elasticsearch 在浏览器访问虚拟机ip:9200

优秀的个人博客,低调大师

RHEL7 Or CentOS7下配置aliyun-epel和fedora的EPEL源

1,阿里云的直接添加aliyun-epel.repo [root@hadoop1 yum.repos.d]# vim aliyun-epel.repo [epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://mirrors.aliyun.com/epel/7/$basearch #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch failovermethod=priority enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=0 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source baseurl=http://mirrors.aliyun.com/epel/7/SRPMS #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch failovermethod=priority enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=0 2、fedora的源安装epel-release-7-8.noarch.rpm http://ftp.sjtu.edu.cn/fedora/epel/7/x86_64/e/epel-release-7-8.noarch.rpm [root@openstack yum.repos.d]# wget http://ftp.sjtu.edu.cn/fedora/epel/7/x86_64/e/epel-release-7-7.noarch.rpm [root@openstack yum.repos.d]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [root@openstack yum.repos.d]# rpm -ivh epel-release-7-7.noarch.rpm [root@openstack yum.repos.d]# vim epel.repo 1 [epel] 2 name=Extra Packages for Enterprise Linux 7 - $basearch 3 #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch 5 failovermethod=priority 6 enabled=1 7 gpgcheck=1 8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 9 10 [epel-debuginfo] 11 name=Extra Packages for Enterprise Linux 7 - $basearch - Debug 12 #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug 13 mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$ basearch 14 failovermethod=priority 15 enabled=0 修改为1 16 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 17 gpgcheck=1 18 19 [epel-source] 20 name=Extra Packages for Enterprise Linux 7 - $basearch - Source 21 #baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS 22 mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch= $basearch 23 failovermethod=priority 24 enabled=0 修改为1 25 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 26 gpgcheck=1 本文转自 OpenStack2015 博客,原文链接: http://blog.51cto.com/andyliu/1851866 如需转载请自行联系原作者

优秀的个人博客,低调大师

centos7安装dhcp服务器并由客户端动态获取IP地址

主机架构:角色 ip地址 网关 dhcp服务器 192.168.8.81 192.168.8.1 客户机1 动态获取 192.168.8.81 客户机2 192.168.8.99 192.168.8.81 dhcp服务器配置: a. 安装软件:yum -y install dhcp b. 更改配置文件:vim /etc/dhcp/dhcpd.conf default-lease-time 600; max-lease-time 7200; subnet 192.168.8.0 netmask 255.255.255.0 { range 192.168.8.90 192.168.8.100; option routers 192.168.8.1; } host printer { hardware ethernet 00:0c:29:48:c5:a2; fixed-address 192.168.8.99; } c. 启动服务: systemctl start dhcpd 客户端服务器配置: a. 修改网卡配置文件:vim /etc/sysconfig/network-scripts/ifcfg-eth0TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth0 DEVICE=eth0 ONBOOT=yes GATEWAY=192.168.8.81 #网关一定要设置成dhcp服务器的ip地址 NETMASK=255.255.255.0 DNS1=8.8.8.8 DNS2=114.114.114.114 b. 重启网络服务: systemctl restart network 校验: a. 客户机1:ip a b. 客户机2: ip a 本文转自 Lee_吉 51CTO博客,原文链接:http://blog.51cto.com/12173069/2069651

优秀的个人博客,低调大师

5招详解linux之openEuler /centos7防火墙基本使用指南

防火墙是一种防火墙管理解决方案,可用于许多 Linux 发行版,它充当 Linux 内核提供的 iptables 数据包筛选系统的前端。在本指南中,将介绍如何为服务器设置防火墙,并向你展示使用管理工具管理防火墙的基础知识 注:你可能正在使用比本指南发布时可用的较新版本的防火墙,或者你的服务器设置与本指南中使用的示例服务器略有不同。因此,本指南中解释的一些命令的行为可能因你的特定配置而异。 防火墙中的基本概念 在我们开始介绍如何实际使用实用程序来管理防火墙配置之前,我们应该熟悉该工具介绍的一些基本概念。firewall-cmd 区域 守护进程使用称为"区域"的实体管理规则组。区域基本上是一组规则,根据计算机连接到的网络的信任级别,规定应允许哪些流量。网络接口被分配一个区域,以指示防火墙应允许的行为。 无论你所处的网络环境有多动态,熟悉每个预定义区域仍然很有用。从最不信任 到最受信任的顺序,中的预定义区域是 drop(丢弃):最低信任级别。所有传入连接在没有回复的情况下丢弃,并且只能进行传出连接。 block(限制):与上述类似,但传入请求不是简单地丢弃连接,而是使用 或 消息被拒绝。icmp-host-prohibited icmp6-adm-prohibited public(公共):表示公共、不受信任的网络。您不信任其他计算机,但可能会根据情况允许选定的传入连接。 external(外部):使用防火墙作为网关时的外部网络。它配置为 NAT 伪装,以便你的内部网络保持私有但可访问。 internal(内部):外部区域的另一侧,用于网关的内部部分。计算机是相当值得信赖的,一些额外的服务是可用的。 dmz: 用于位于 DMZ 中的计算机(无法访问网络其余部分的隔离计算机)。仅允许某些传入连接。 work(工作):用于工作机器。信任网络中的大多数计算机。可能允许使用更多服务。 home(家):家庭环境。它通常意味着你信任大多数其他计算机,并且将接受更多服务。 trusted(受信任):信任网络中的所有计算机。最开放的可用选项,应谨慎使用。 要使用防火墙,我们可以创建规则并更改区域的属性,然后将网络接口分配给最合适的区域。 永久性规则 在防火墙中,规则可以指定为永久规则或即时规则。如果添加或修改了规则,默认情况下,将修改当前运行的防火墙的行为。在下次启动时,将恢复旧规则。 大多数操作都可以采取该标志来指示非临时防火墙应作为目标。这将影响启动时重新加载的规则集。这种分离意味着您可以在活动防火墙实例中测试规则,然后在出现问题时重新加载。还可以使用标志来构建一整组规则,这些规则将在发出重载命令时同时应用。firewall-cmd --permanent --permanent 安装并启用防火墙启动 firewalld默认情况下安装在某些 Linux 发行版上,包括 openEuler/CentOS 7 的许多映像。但是,您可能有必要自行安装防火墙: sudo yum install firewalld sudo systemctl enable firewalld sudo reboot 验证防火墙服务是否正在运行: sudo firewall-cmd --state 修改防火墙规则 在开始修改之前,我们应该熟悉守护进程提供的默认环境和规则。 浏览默认值 通过键入以下类型,我们可以看到当前选择哪个区域为默认值: firewall-cmd --get-default-zone 由于我们没有给出任何指定区域的命令,并且我们的接口都没有配置为绑定到另一个区域,因此该区域也将是唯一的"活动"区域(控制我们接口的流量的区域)。我们可以通过键入以下类型来验证这一点: firewall-cmd --get-active-zones 输出:interfaces: eth0 eth1 我们可以看到,我们的示例服务器有两个网络接口由防火墙控制。它们目前都按照为公共区域定义的规则进行管理。 我们怎么知道哪些规则与公共区域相关?我们可以通过键入以下类型打印出默认区域的配置: sudo firewall-cmd --list-all 输出: public (default, active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: 我们可以从输出中判断此区域是默认的和活跃的,并且和接口与此区域关联,我们也可以看到,此区域允许与 DHCP 客户端(用于 IP 地址分配)和 SSH(用于远程管理)关联的正常操作。 为你的接口选择区域 除非已配置网络接口,否则在启动防火墙时,每个接口都将置于默认区域。 更改接口区域 可以在会话期间将接口与参数结合使用,在会话期间在区域之间转换接口。与修改防火墙的所有命令一样,您需要使用 。 例如,可以通过键入以下内容将接口转换为"主"区域:eth0 sudo firewall-cmd --zone=home --change-interface=eth0 输出:success 可以通过再次请求活动区域来验证这是否成功: firewall-cmd --get-active-zones 输出: home interfaces: eth0 public interfaces: eth1 调整默认区域 如果所有接口由单个区域处理,则只需选择最佳默认区域,然后将它用于配置可能更容易。 可以使用参数更改默认区域。这将立即更改已返回默认到新区域的任何接口:--set-default-zone= sudo firewall-cmd --set-default-zone=home 输出:success 为应用程序设置规则 向区域添加服务 最简单的方法是将所需的服务或端口添加到您使用的区域。同样,您可以使用以下选项获取可用服务的列表:--get-services firewall-cmd --get-services 输出: RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server 例如,如果我们运行一个为常规 HTTP 流量服务的 Web 服务器,我们可以通过键入以下方式,为此会话的"公共"区域中的接口允许此流量: sudo firewall-cmd --zone=public --add-service=http 可以通过使用 或 操作验证操作是否成功:--zone= --list-all --list-services sudo firewall-cmd --zone=public --list-services 输出:dhcpv6-client http ssh 测试到所有内容都正常工作后,如果想要修改永久防火墙规则,以便重新启动后服务仍然可用。我们可以通过键入: sudo firewall-cmd --zone=public --permanent --add-service=http 输出:success 可以通过向操作添加标志来验证这是否成功。需要用于任何操作:--permanent--list-servicessudo``--permanent sudo firewall-cmd --zone=public --permanent --list-services 输出:dhcpv6-client http ssh 现在你的"公共"区域现在将允许端口 80 上的 HTTP Web 流量。如果你的 Web 服务器配置为使用 SSL/TLS,还需要添加该服务。我们可以通过键入以下类型将其添加到当前会话和永久规则集中:https sudo firewall-cmd --zone=public --add-service=https sudo firewall-cmd --zone=public --permanent --add-service=https 创建属于自己的区域 虽然预定义区域对于大多数用户来说可能已经足够了,但定义自己的区域可以更描述其功能会很有帮助。 例如,你可能希望为 Web 服务器创建一个区域,称为"公共网站"。但是,你可能希望为专用网络上提供 DNS 服务配置其他区域。为此,需要建一个名为"私有 DNS"的区域。 添加区域时,必须将其添加到永久防火墙配置中。然后可以重新加载以将配置引入正在运行的会话中。例如,我们可以通过键入以下两个区域来创建上面讨论的两个区域: sudo firewall-cmd --permanent --new-zone=publicweb sudo firewall-cmd --permanent --new-zone=privateDNS 可以通过键入以下类型来验证这些配置是否存在于永久配置中: sudo firewall-cmd --permanent --get-zones 输出:block dmz drop external home internal privateDNS public publicweb trusted work 如之前所述,这些在防火墙的当前实例中尚不可用: firewall-cmd --get-zones 输出:block dmz drop external home internal public trusted work 需要重新加载防火墙以将这些新区域引入活动配置: sudo firewall-cmd --reload firewall-cmd --get-zones 输出:block dmz drop external home internal privateDNS public publicweb trusted work 现在,你可以开始为区域分配适当的服务和端口。通过调整活动实例,然后在测试后将这些更改传输到永久配置。例如,对于"公共 web"区域,如果你需要添加 SSH、HTTP 和 HTTPS 服务: sudo firewall-cmd --zone=publicweb --add-service=ssh sudo firewall-cmd --zone=publicweb --add-service=http sudo firewall-cmd --zone=publicweb --add-service=https sudo firewall-cmd --zone=publicweb --list-all 输出: publicweb target: default icmp-block-inversion: no interfaces: sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: 同样,我们可以将 DNS 服务添加到我们的"私有 DNS"区域: sudo firewall-cmd --zone=privateDNS --add-service=dns sudo firewall-cmd --zone=privateDNS --list-all 输出: privateDNS interfaces: sources: services: dns ports: masquerade: no forward-ports: icmp-blocks: rich rules: 然后,我们可以将接口更改为这些新区域以测试它们: sudo firewall-cmd --zone=publicweb --change-interface=eth0 sudo firewall-cmd --zone=privateDNS --change-interface=eth1 来测试运行配置。调试完成后(即符合自己的要求)需要向永久配置添加相同的规则。可以通过使用标志重新应用规则来做到这一点:--permanent sudo firewall-cmd --zone=publicweb --permanent --add-service=ssh sudo firewall-cmd --zone=publicweb --permanent --add-service=http sudo firewall-cmd --zone=publicweb --permanent --add-service=https sudo firewall-cmd --zone=privateDNS --permanent --add-service=dns 永久应用这些规则后,重启防火墙服务: sudo systemctl restart network sudo systemctl reload firewalld 验证是否分配了正确的区域: firewall-cmd --get-active-zones 输出: privateDNS interfaces: eth1 publicweb interfaces: eth0 并验证两个区域都提供相应的服务: sudo firewall-cmd --zone=publicweb --list-services 输出:http https ssh sudo firewall-cmd --zone=privateDNS --list-services 输出:dns 这是就成功地设置了自己的区域,如果要使这些区域之一成为其他接口的默认区域之一,请记住使用这个参数配置该行为:--set-default-zone= sudo firewall-cmd --set-default-zone=publicweb 总结 防火墙服务允许你配置可维护的规则和规则集,这些规则和规则集可以考虑你的网络环境。你可以通过使用区域在不同防火墙策略之间无缝切换,并允许管理员将端口管理抽象为更友好的服务。 点击关注,第一时间了解华为云新鲜技术~

优秀的个人博客,低调大师

CentOS7里安装apache2.4 php7.2 mysql 5.6环境

打算安装magento 2.3.1,需要先安装运行环境。步骤如下: 如果还没有阿里云ECS实例,请点击查看优惠价格和购买。 1.yum install epel-release # 安装epel源2.rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm # 安装remi源3.rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-7.noarch.rpm # 安装mysql源4.yum update # 更新5.yum --enablerepo=remi-php72 install php php-pdo php-mysqlnd php-opcache php-xml php-pecl-mcrypt php-gd php-devel php-intl php-mbstring php-bcmath php-json php-iconv php-soap php-zip # 启用remi php7.2源,安装php7.2及扩展6.yum install mysql-server # 安装mysql 5.67.vi /etc/php.ini # 编辑php配置文件,将 memory_limit 值调高,如更改到1280M 8.vi /etc/httpd/conf/httpd.conf # 编辑apache配置文件,在适当位置添加 LoadModule rewrite_module modules/mod_rewrite.so , 启用rewrite模块;且将/var/www/html目录的配置内容 AllowOverride None 更改为 AllowOverride All,以让magento的配置文件.htaccess生效 9.systemctl restart httpd # 重启apache10.将magento2的安装文件放到/var/www/html里,从浏览器里访问,开始安装 参考: https://tecadmin.net/install-php-7-apache-2-4-mysql-on-centos-rhel/ https://devops.ionos.com/tutorials/how-to-install-and-configure-magento-2-on-centos-7/

优秀的个人博客,低调大师

centos7新增磁盘、磁盘分区、修改分区属性以及挂载硬盘分区

在RHEL7里新增加一块8G的硬盘,在里面创建一个2G的主分区,6G的扩展分区,再在扩展分区中创建三个2G的逻辑分区,然后再修改逻辑分区的分区类型。在linux文件系统里面最多只能创建4个主分区,如果要创建4个以上的分区,则必须先创建一个扩展分区,然后从扩展分区中划分出多个逻辑分区。再把主分区挂载到新创建的目录上。 首先我们在virtualbox里面新增加一块磁盘:先把虚拟机关机,设置--->存储--->控制器sata--->添加虚拟硬盘。我添加了一块8G的硬盘到我的RHEL7上(原本就有一块20G的硬盘,是我装系统的时候分配的)。 添加完硬盘之后,查看一下硬盘信息,如下可以看到出现了一个未分区的磁盘/dev/sd* 然后查看一下/dev/sdb的磁盘信息fdisk -l /dev/sdb,可以看到磁盘还没有分区,还是一块全新的硬盘。 不知道命令的话输入m获取帮助,嘿嘿 可以看到n为新增分区,p为创建主分区,分区号默认为1,起始扇区这里是2048,我们选择默认的,分区大小我这里分了2个G。 输入p,我们看到分区信息,然后再输入W保存一下 再查看一下dev/sdb信息,可以看到主分区已经创建完成! 接下来我们按照同样的方法把剩下的6G创建为扩展分区,注意这里选e(扩展分区),分区号为2,默认会把剩下的容量到放进去。 查看、保存扩展分区 然后用同样的方法在扩展分区里面创建3个逻辑分区,方法一样。要注意的是这里选的是L(代表逻辑分区),然后输入+2000(大小设置为2G) 查看一下,可以看到已经新建了一个/dev/sd5/的逻辑分区,记得要保存啊 之后再按照同样的方法创建分区6和分区7,这里就不赘述了,直接上图 好,到这里主分区、扩展分区、逻辑分区已经创建完成!接下来我要把分区7(/dev/sdb7)修改为SWAP类型,输入t表示要修改分区类型,这里我就修改分区7为SWAP类型,如果不知道各分区类型对应的号码,可以L查看一下,SWAP对应的号码为82. 然后输入82,分区类型修改完成,保存,,,,,,OK了! 磁盘分区的文件系统创建好之后,还需要将其挂载到系统中才能使用。要将硬盘挂载到文件系统中,首先应在文件系统中创建一个空目录作为挂载点,注意:如果挂载点内有文件,则分区挂载到该目录下之后,原有的文件将不能被使用,所以如果要将分区挂载到已有的目录下时,一定要确认里面没有文件(如果是故意想覆盖掉那就另当别论了)。 比如,我新建一个/usr/xiaoshiping的目录,然后将/dev/sdb1挂载上去 在mount命令中没有使用任何选项,都是使用默认值,此时就可以通过/usr/xiaoshiping来使用这块分区了!

优秀的个人博客,低调大师

Linux(RHEL7及CentOS7)下DNS服务器的搭建与配置

一、基本概念 DNS即Domain Name System,域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明(摘自百度百科)。 DNS服务器的功能 每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。主机名到IP地址的映射有两种方式: 1.静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用; 2.动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,需要到DNS服务器上查询主机所对应的IP地址。 通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。 DNS常用的资源记录类型 A:地址 此记录列出特定主机名的 IP 地址。这是名称解析的重要记录。 CNAME:标准名称 此记录指定标准主机名的别名。 MX:邮件交换器此记录列出了负责接收发到域中的电子邮件的主机。 NS:名称服务器此记录指定负责给定区域的名称服务器。 搭建DNS服务器需要的三个软件:bind,bind-chroot,bind-utils。 二、环境配置 1、系统、相关软件版本:CentOS Linux release 7.4.1708 (Core)、bind-chroot-9.9.4-51.el7_4.1.x86_64、bind-9.9.4-51.el7_4.1.x86_64、bind-utils-9.9.4-51.el7_4.1.x86_64。 2、DNS服务器的IP配置:10.1.1.21。 3、正向解析设计思路:以10.1.1.21的机器为DNS服务器,10.1.1.23通过DNS服务器10.1.1.21解析后以域名user.geeklp来访问10.1.1.23,在10.1.1.23上通过域名test.geeklp来登录10.1.1.21。 4、反向解析设计思路:以10.1.1.21为DNS服务器,通过10.1.1.23主机的IP来查询其域名:tomcat.geeklp 三、安装DNS服务器相关软件,修改配置文件 1、DNS服务器需要安装bind、bind-chroot、bind-utils [root@Geeklp-DNS ~]# yum -y install bind bind-utils bind-chroot 编辑配置文件/etc/named.conf,找到listen-on这一行,改为: listen-on port 53 { any; }; 找到allow-query这一行,改为: allow-query { any; }; 对DNS配置文件进行一下语法检查: [root@Geeklp-DNS ~]# named-checkconf /etc/named.conf 启动dns服务: [root@Geeklp-DNS ~]# systemctl start named 配置防火墙: [root@Geeklp-DNS ~]# firewall-cmd --permanent --add-service=dns [root@Geeklp-DNS ~]# firewall-cmd --reload 测试: [root@Geeklp-DNS ~]# dig www.baidu.com @10.1.1.21 返回数据无异常。初步配置完成! 2、配置正向解析。 (1)根据named.conf中include “/etc/named.rfc1912.zones”这一行,我们需要在named.rfc1912.zones中新增需要解析的域。当然,我们也可在直接在named.conf文件中操作,均能起到同样的效果。在末尾加上如下几行: zone "geeklp" IN { type master; file "data/master.geeklp.zone"; }; (2)从第三步可以看出,我们把test这个域放到了/var/named/data目录下,创建文件master.test.zone(touch master.test.zone),加入以下内容: $TTL 3600 @ IN SOA geeklp admin.geeklp. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS 10.1.1.21. test IN A 10.1.1.21 user IN A 10.1.1.23 注意:当前区域10.1.1.21后面的点不可省略,否则报错。 SOA是Start Of Authority(开始验证)的意思,与域有关,后面共会接7个参数,这7个参数的意义依次是: 1> Master DNS 服务器主机名,即在这个域中哪个DNS作为主服务器,在本例中,即geeklp。 2> 管理员的Email。即出现问题可给管理员发邮件。在本例中,是admin.geeklp。 3> 序号。这个序号代表这个数据库档案的陈旧,序号越大,代表越新。当slave要判断是否主动下载新的数据库时,就以序号是否比slave上的还有新来判断。 4> 刷新频率(Refresh)。即slave向master要求数据更新的频率。 5> 失败重新尝试时间(Retry)。如果因为某些因素,导致slave无法对master达成联机,那么在多久的时间内,slave会尝试重新联机到master。 6> 失效时间(Expire)。如果一直失败尝试时间,持续联机到达这个设定值时限,那么slave将不再继续尝试联机。 7> 存活时间(Minimum TTL)。如果在这个数据库zone file中,每笔记录都没有显性设定TTL快取时间的话,那么就以这个值为主。 区域配置文件格式如下: [名称] [TTL] [网络类型] 资源记录类型 数据 名称:指定资源记录引用的对象名,可以是主机名,也可以是域名。对象名可以是相对名称也可以是完整名称。完整名称必须以点结尾。如果连续的几条资源记录类型是同一个对象名,则第一条资源记录后的资源记录可以省略对象名。相对名称表示相对与当前域名来说的,如当前域名为geeklp.com,则表示www主机时,完整名称为www.geeklp.com.,相对名称为www。 TTL:指定资源记录存在缓存中的时间,单位为秒。如果该字段省略,则使用在文件开始出的TTL所定义的时间。网络类型:常用的为IN资源记录类型:常用的有SOA、NS、A、PTR、MX、CNAME在定义资源记录时,一般情况下是SOA记录为第一行,NS记录第二行,接着是MX记录,其他的记录可以随便写。;:表示注释():允许数据跨行。通常用于SOA记录@:表示当前域。根据主配置文件zone中所定义的区域名称。∗:用于名称字段的通配符。ORIGIN :ORIGIN后面跟上的是字符串,即要补全的内容。 IP地址的格式可以是如下的几种形式: 单一主机:x.x.x.x,如172.17.100.100 指定网段:x.x.x.或x.x.x.x/n,如172.17.100.或者是172.17.100.0/24 指定多个地址:x.x.x.xx.x.x.x如,172.17.100.100;172.17.100.200 使用!表示否定:如!172.17.100.100,则排除172.17.100.100 不匹配任何:none 匹配所有:any 本地主机(bind本机):localhost 与bind主机同网段的所有IP地址:localnet (4)搭建完毕,测试一下。重启named服务(systemctl restart named)。把10.1.1.23的DNS改为10.1.1.21(可以通过nmtui或编辑网络配置文件),重启网络(systemctl restart network)。 [root@JDK-Tomcat ~]# ping test.geeklp PING test.geeklp (10.1.1.21) 56(84) bytes of data. 64 bytes from 10.1.1.21: icmp_seq=1 ttl=64 time=0.178 ms 64 bytes from 10.1.1.21: icmp_seq=2 ttl=64 time=0.450 ms 再试一下本机10.1.1.21,从配置文件中我们可以看到本机的域名为test.geeklp。从10.1.1.23ssh登录10.1.1.21。 [root@JDK-Tomcat ~]# ssh test.geeklp The authenticity of host 'test.geeklp (10.1.1.21)' can't be established. ECDSA key fingerprint is 98:00:32:6a:c1:a1:a6:fa:6f:be:08:53:94:6e:6b:f7. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'test.geeklp,10.1.1.21' (ECDSA) to the list of known hosts. root@test.geeklp's password: Last login: Tue Jan 2 09:04:27 2018 from 10.1.1.1 正向解析搭建完成。 3.配置反向解析。 (1)修改配置文件:/etc/named.rfc1912.zones,复制zone “1.0.0.127.in-addr.arpa” 这一行到花括号结束的分号末尾,修改为如下内容: zone "1.1.10.in-addr.arpa" IN { type master; file "data/named.23.zone"; allow-update { none; }; }; 注意:反向解析的IP需要反过来写,并且只写前三位。 按照上面配置新建/var/named/data/named.23.zone文件,并将一下内容添加到文件内部,保存退出。 $TTL 3600 @ IN SOA test.geeklp. admin.test.geeklp. ( 2017111301; Serial 1H; Refresh 15M; Retry 7D; Expire 1H; TTL ) IN NS test.geeklp. 23 IN PTR tomcat.geeklp. (2)重启服务,添加开机启动。 [root@Geeklp-DNS ~]# systemctl restart named [root@Geeklp-DNS ~]# systemctl enable named (3)测试反向解析过程。 [root@Geeklp-DNS ~]# nslookup 10.1.1.23 Server: 10.1.1.21 Address: 10.1.1.21#53 23.1.1.10.in-addr.arpa name = tomcat.geeklp. [root@Geeklp-DNS ~]# dig +trace 10.1.1.23 ; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.1 <<>> +trace 10.1.1.23 ·············中间省略 23.1.1.10.in-addr.arpa name = tomcat.geeklp. 四、附加资料 Bind可以使用的区域类型及其说明如下: master:主DNS区域。拥有该区域的区域数据文件,对该区域提供管理。 slave:从DNS区域。拥有master区域的区域数据文件的只读副本,slave区域从master区域获取所有的数据,这个过程称为区域传输。 forward:转发区域。用于转发DNS客户端的查询。 stub:存根区域。和slave区域类似,但是只复制master区域的NS记录和NS记录对应的A记录。 hint:提示区域,定义根所在的位置。用于查找根DNS服务器的位置。 主配置文件参数(options块): listen-on port:指定DNS监听的端口和地址。如果监听在本机的所有地址,可以用any。如listen-on port 53 { 172.17.100.1; }; listen-on-v6 port:指定DNS监听的IPV6的地址和端口。如listen-on-v6 port 53 { ::1; }; directory:指定区域数据文件所在的路径。默认为”/var/named”。如果使用了chroot,则该路径为相对路径,为/var/named/chroot/var/named query-source port:指定DNS客户端在查询时必须使用的源端口。该参数通常不设置。 allow-query:允许哪些客户端进行查询,如果没有定义此选项,则表示允许所有的客户端提交的DNS查询请求。如:allow-query { 172.17.100.200; 172.17.100.210; };则允许172.17.100.200和172.17.100.210这两个客户端提交的DNS查询请求。由外向内。通常都是any。允许所有的客户端查询。 allow-recursion:允许哪些客户端执行递归查询。如果该DNS服务器不对外开放,即不给互联网的用户执行查询时,则开启该选项。与allow-query不同的是,不执行客户端提交的递归查询。allow-query允许迭代查询和递归查询。allow-recursion由内向外。通常需要放行本地网段和127.0.0.0/8的。 recursion yes:默认为yes,则表示给所有的客户端执行递归。这样就成为一个开放的DNS服务器了。 forwarders:指定转发服务器。如果定义了多个转发服务器,则依次进行尝试,直到获得查询信息为止。本地的DNS服务器会将查询请求转发到转发服务器。如果该项目设置在区域定义之外的话,是对所有非本地区域的解析都转发到指定的DNS服务器;如果定义在某个区域内,则是将对该区域的解析转发到指定服务器。 forward only|first:only表示只将查询请求转发到所定义的转发服务器,不通过本机查询。first表示先将查询转发到所定义的转发服务器,如果没有响应,则通过本机进行迭代查询。默认为first。 querylog:yes启用查询日志记录功能。no关闭查询日志记录功能。 allow-transfer:允许哪些slave DNS服务器进行区域传输。 recursion:选项指定是否允许客户端递归查询其他域名服务器。如果希望对本地客户端的查询允许递归,但对来自外部的查询请求禁止递归,可以通过“allow-recursion”选项进行定义。allow-recursion选项可以指定一个允许执行递归查询操作的地址列表。 transfer-source x.x.x.x:指定slave在向master进行区域传输时所使用的源地址。 notify:是否启用notify功能。yes表示当Master端数据修改时,通知Slave进行区域传输,no表示不通知slave。 allow-update:是否允许通过DHCP获取IP地址的机器动态更新DNS信息,none表示不允许。 dnssec-enable:设定BIND是否支持DNSSEC,该技术并不对数据进行加密,它只是验证您所访问的站点地址是否有效。是一种端到端的安全协议。默认为yes。在做子域授权时,需要设置为no dnssec-validation:默认为yes,在做子域授权时,需要设置为no 参考资料:http://blog.csdn.net/xrwwuming/article/details/51505031

优秀的个人博客,低调大师

阿里云ECS服务器Centos7 vsftpd.conf的配置详细说明

vsftpd.conf的配置详细说明 ##匿名用户(anonymous)设置 #控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。 anonymous_enable=YES/NO(YES) #是否允许登陆用户有写权限。属于全局设置,默认值为YES。 write_enable=YES/NO(YES) #若是启动这项功能,则使用匿名登入时,不会询问密码。默认值为NO。 no_anon_password=YES/NO(NO) #定义匿名登入的使用者名称。默认值为ftp。 ftp_username=ftp #使用匿名登入时,所登入的目录。默认值为/var/ftp。注意ftp目录不能是777的权限属性,即匿名用户的家目录不能有777的权限。 anon_root=/var/ftp #如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。 anon_upload_enable=YES/NO(NO) #如果设为YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在FTP服务器中打开阅读)。默认值为YES。 anon_world_readable_only=YES/NO(YES) #如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。 anon_mkdir_write_enable=YES/NO(NO) #如果设为YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果anon_upload_enable=NO,则匿名用户不能上传文件,但可以删除或者重命名已经存在的文件;如果anon_mkdir_write_enable=NO,则匿名用户不能上传或者新建文件夹,但可以删除或者重命名已经存在的文件夹。)默认值为NO。 anon_other_write_enable=YES/NO(NO) #设置是否改变匿名用户上传文件(非目录)的属主。默认值为NO。 chown_uploads=YES/NO(NO) #设置匿名用户上传文件(非目录)的属主名。建议不要设置为root。 chown_username=username #设置匿名登入者新增或上传档案时的umask 值。默认值为077,则新建档案的对应权限为700。 anon_umask=077 #若是启动这项功能,则必须提供一个档案/etc/vsftpd/banner_emails,内容为email address。若是使用匿名登入,则会要求输入email address,若输入的email address 在此档案内,则不允许进入。默认值为NO。 deny_email_enable=YES/NO(NO) #此文件用来输入email address,只有在deny_email_enable=YES时,才会使用到此档案。若是使用匿名登入,则会要求输入email address,若输入的email address 在此档案内,则不允许进入。 banned_email_file=/etc/vsftpd/banner_emails ##本地用户设置 #控制是否允许本地用户登入,YES 为允许本地用户登入,NO为不允许。默认值为YES。 local_enable=YES/NO(YES) #当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。 local_root=/home/username #是否允许登陆用户有写权限。属于全局设置,默认值为YES。 write_enable=YES/NO(YES) #本地用户新增档案时的umask 值。默认值为077。 local_umask=022 #本地用户上传档案后的档案权限,与chmod 所使用的数值相同。默认值为0666。 file_open_mode=0755 ##欢迎语设置 #如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启。 dirmessage_enable=YES/NO(YES) #设置目录消息文件,可将要显示的信息写入该文件。默认值为.message。 message_file=.message #当使用者登入时,会显示此设定所在的档案内容,通常为欢迎话语或是说明。默认值为无。如果欢迎信息较多,则使用该配置项。 banner_file=/etc/vsftpd/banner #这里用来定义欢迎话语的字符串,banner_file是档案的形式,而ftpd_banner 则是字符串的形式。预设为无。 ftpd_banner=Welcome to demo FTP server ##控制用户是否允许切换到上级目录 #在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。 chroot_list_enable=YES/NO(NO) #设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。 chroot_list_file=/etc/vsftpd.chroot_list #用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。 chroot_local_user=YES/NO(NO) #用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。 #通过搭配能实现以下几种效果: ①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。 ②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。 ③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。 ④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。 ##数据传输模式设置 #FTP在传输数据时,可以使用二进制方式,也可以使用ASCII模式来上传或下载数据。 #设置是否启用ASCII 模式上传数据。默认值为NO。 ascii_upload_enable=YES/NO(NO) #设置是否启用ASCII 模式下载数据。默认值为NO。 ascii_download_enable=YES/NO(NO) ##访问控制设置 #两种控制方式:一种控制主机访问,另一种控制用户访问。 #①控制主机访问: #设置vsftpd是否与tcp wrapper相结合来进行主机的访问控制。默认值为YES。如果启用,则vsftpd服务器会检查/etc/hosts.allow 和/etc/hosts.deny 中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。 tcp_wrappers=YES/NO(YES) #比如:若要仅允许192.168.0.1—192.168.0.254的用户可以连接FTP服务器,则在/etc/hosts.allow文件中添加以下内容: #vsftpd:192.168.0. :allow #all:all :deny #②控制用户访问: #对于用户的访问控制可以通过/etc目录下的vsftpd.user_list和ftpusers文件来实现。 #控制用户访问FTP的文件,里面写着用户名称。一个用户名称一行。 userlist_file=/etc/vsftpd.user_list #是否启用vsftpd.user_list文件。 userlist_enable=YES/NO(NO) #决定vsftpd.user_list文件中的用户是否能够访问FTP服务器。若设置为YES,则vsftpd.user_list文件中的用户不允许访问FTP,若设置为NO,则只有vsftpd.user_list文件中的用户才能访问FTP。 userlist_deny=YES/NO(YES) #/etc/vsftpd/ftpusers文件专门用于定义不允许访问FTP服务器的用户列表(注意:如果userlist_enable=YES,userlist_deny=NO,此时如果在vsftpd.user_list和ftpusers中都有某个用户时,那么这个用户是不能够访问FTP的,即ftpusers的优先级要高)。默认情况下vsftpd.user_list和ftpusers,这两个文件已经预设置了一些不允许访问FTP服务器的系统内部账户。如果系统没有这两个文件,那么新建这两个文件,将用户添加进去即可。 ##访问速率设置 #设置匿名登入者使用的最大传输速度,单位为B/s,0 表示不限制速度。默认值为0。 anon_max_rate=0 #本地用户使用的最大传输速度,单位为B/s,0 表示不限制速度。预设值为0。 local_max_rate=0 ##超时时间设置 #设置建立FTP连接的超时时间,单位为秒。默认值为60。 accept_timeout=60 #PORT 方式下建立数据连接的超时时间,单位为秒。默认值为60。 connect_timeout=60 #设置建立FTP数据连接的超时时间,单位为秒。默认值为120。 data_connection_timeout=120 #设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒。默认值为300 。 idle_session_timeout=300 ##日志文件设置 #是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启。 xferlog_enable= YES/NO(YES) #设置日志文件名和路径,默认值为/var/log/vsftpd.log。 xferlog_file=/var/log/vsftpd.log #如果启用,则日志文件将会写成xferlog的标准格式,如同wu-ftpd 一般。默认值为关闭。 xferlog_std_format=YES/NO(NO) #如果启用此选项,所有的FTP请求和响应都会被记录到日志中,默认日志文件在/var/log/vsftpd.log。启用此选项时,xferlog_std_format不能被激活。这个选项有助于调试。默认值为NO。 log_ftp_protocol=YES|NO(NO) ##定义用户配置文件 #在vsftpd中,可以通过定义用户配置文件来实现不同的用户使用不同的配置。 user_config_dir=/etc/vsftpd/userconf #设置用户配置文件所在的目录。当设置了该配置项后,用户登陆服务器后,系统就会到/etc/vsftpd/userconf目录下,读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。 #例如:定义user_config_dir=/etc/vsftpd/userconf,且主机上有使用者 test1,test2,那么我们就在user_config_dir 的目录新增文件名为test1和test2两个文件。若是test1 登入,则会读取user_config_dir 下的test1 这个档案内的设定。默认值为无。利用用户配置文件,可以实现对不同用户进行访问速度的控制,在各用户配置文件中定义local_max_rate=XX,即可。 ##FTP的工作方式与端口设置 #FTP有两种工作方式:PORT FTP(主动模式)和PASV FTP(被动模式) #设置FTP服务器建立连接所监听的端口,默认值为21。 listen_port=21 #指定FTP使用20端口进行数据传输,默认值为YES。 connect_from_port_20=YES/NO #设置在PORT方式下,FTP数据连接使用的端口,默认值为20。 ftp_data_port=20 #若设置为YES,则使用PASV工作模式;若设置为NO,则使用PORT模式。默认值为YES,即使用PASV工作模式。 pasv_enable=YES/NO(YES) #在PASV工作模式下,数据连接可以使用的端口范围的最大端口,0 表示任意端口。默认值为0。 pasv_max_port=0 #在PASV工作模式下,数据连接可以使用的端口范围的最小端口,0 表示任意端口。默认值为0。 pasv_min_port=0 ##与连接相关的设置 #设置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默认值。建议不要更改,有很多与服务器运行相关的配置命令,需要在此模式下才有效。若设置为NO,则vsftpd不是以独立的服务运行,要受到xinetd服务的管控,功能上会受到限制。 listen=YES/NO(YES) #设置vsftpd允许的最大连接数,默认值为0,表示不受限制。若设置为100时,则同时允许有100个连接,超出的将被拒绝。只有在standalone模式运行才有效。 max_clients=0 #设置每个IP允许与FTP服务器同时建立连接的数目。默认值为0,表示不受限制。只有在standalone模式运行才有效。 max_per_ip=0 #设置FTP服务器在指定的IP地址上侦听用户的FTP请求。若不设置,则对服务器绑定的所有IP地址进行侦听。只有在standalone模式运行才有效。 listen_address=IP地址 #设置每个与FTP服务器的连接,是否以不同的进程表现出来。默认值为NO,此时使用ps aux |grep ftp只会有一个vsftpd的进程。若设置为YES,则每个连接都会有一个vsftpd的进程。 setproctitle_enable=YES/NO(NO) ##虚拟用户设置 #虚拟用户使用PAM认证方式。 #设置PAM使用的名称,默认值为/etc/pam.d/vsftpd。 pam_service_name=vsftpd #启用虚拟用户。默认值为NO。 guest_enable= YES/NO(NO) #这里用来映射虚拟用户。默认值为ftp。 guest_username=ftp #当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭(NO)时,虚拟用户使用与匿名用户相同的权限。默认情况下此参数是关闭的(NO)。 virtual_use_local_privs=YES/NO(NO) ##其他设置 #设置在执行ls –la之类的命令时,是显示UID、GID还是显示出具体的用户名和组名。默认值为NO,即以UID和GID方式显示。若希望显示用户名和组名,则设置为YES。 text_userdb_names= YES/NO(NO) #若是启用此功能,则允许登入者使用ls –R(可以查看当前目录下子目录中的文件)这个指令。默认值为NO。 ls_recurse_enable=YES/NO(NO) #如果启用此功能,所有档案的拥有者与群组都为ftp,也就是使用者登入使用ls -al之类的指令,所看到的档案拥有者跟群组均为ftp。默认值为关闭。 hide_ids=YES/NO(NO) #如果设置为NO,所有的文件都不能下载到本地,文件夹不受影响。默认值为YES。 download_enable=YES/NO(YES)

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。