This is Linux服务器 StudyNote.

1. 查看服务器端口(端口占用检测.md)

netstat -tunlp|grep [服务]    # t:tcp    u:udp    n:仅显示地址,而不显示主机名,可加速查询速度    l:Listen    p:显示建立相关链接的程序名    
nmap localhost    # 扫描本机所启用的端口,默认只扫描TCP
nmap -sTU localhost    # s:scan    T:tcp    u:udp    其他参数:-sP:以ping方式扫描    -sO:以ip协议进行扫描    -PT:使用TCP里面的ping    -PI:使用ping(带有ICMP数据包)来进行扫描
  • netcat命令

    lsof -i:[端口号port] # 查看当前用户的端口所对应的相关信息,不加:扫描全部

2. 使用ssh无密码登录其他远程主机

  • 使用ssh-keygen命令来生成私钥和公钥

    ssh-keygen (-t rsa/dsa) 默认为rsa加密方式
    # 生成的公钥私钥放置于家目录的.ssh目录当中
    
  • 将生成的公钥文件上传并附加到远程服务器的信任文件当中去

    # Ubuntu 系统下是known_hosts
    cat id_rsa.pub >> known_hosts
    # 然而在CentOS系统下文件是authorized_keys
    cat id_rsa.pub >> authorized_keys
    
  • 使用scp上床到远程服务器上,或者使用ssh-copy-id -i /root/.ssh/id_rsa.pub centos自动上传到远程服务器的相应文件当中去

3. CentOS最小化安装中使用gnome桌面以及配置VNC进行远程桌面连接(其他桌面环境)

  • # 获取当前默认选项
    systemctl get-default
    # 如果返回值为:multi-user.target 命令行输入下面指令切入到图形界面:
    systemctl set-default graphical.target
    # 如果需要改回命令行模式,输入如下指令
    systemctl set-default multi-user.target
    
  • # 或者设置防火墙规则,这里为了方便起见
    systemctl stop firewalld
    yum update
    yum groupinstall "GNOME Desktop" "X Window System" "Desktop" 
    yum install tigervnc-server tigervnc vnc vnc-server
    # 拷贝配置文件到相应目录。并按照配置文件说明修改相关内容
    cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
    
  • vncpasswd # 对当前用户的vnc设置密码,或者第一次运行vncserver :1
    vim /etc/libvirt/qemu.conf # 修改配置文件
    # 去掉以下两行的注释
    vnc_password = "123456"
    vnc_listen = "0.0.0.0"
    
  • # 重新加载systemd
    systemctl daemon-reload
    # 启用vnc到指定接口
    vncserver :1
    # 最后使用vnc viewer客户端进行连接即可
    

4. nginx安装与使用(环境CentOS7)

4.1. 使用源码安装

  • ​ 安装编译工具及库文件

    yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
    
  • 编译安装PCRE库

    • cd /usr/local/src
      wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.43.tar.gz
      tar -zxvf pcre-8.37.tar.gz
      cd pcre-8.43
      ./configure
      make
      make install
      
  • 安装zlib库

    • cd /usr/local/src
      wget http://zlib.net/zlib-1.2.11.tar.gz
      tar -zxvf zlib-1.2.11.tar.gz
      cd zlib-1.2.8
      ./configure
      make
      make install
      
  • 安装ssl

    • cd /usr/local/src
      wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
      tar -zxvf openssl-1.0.2s.tar.gz
      
  • 安装nginx

    • cd /usr/local/src
      wget http://nginx.org/download/nginx-1.9.9.tar.gz  
      tar -zxvf nginx-1.9.9.tar.gz  
      cd nginx-1.9.9.tar.gz
      
      ./configure --sbin-path=/usr/local/nginx/sbin \
      --with-http_stub_status_module \
      --conf-path=/usr/local/nginx/nginx.conf \
      --pid-path=/usr/local/nginx/nginx.pid \
      --with-http_ssl_module \
      --with-pcre=/usr/local/src/pcre-8.43 \
      --with-zlib=/usr/local/src/zlib-1.2.11 \
      --with-openssl=/usr/local/src/openssl-1.0.2s \
       --prefix=/usr/local/webserver/nginx
      # --with-pcre=/usr/src/pcre-8.34 指的是pcre-8.34 的源码路径。
      # --with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源码路径。
      #  --prefix指定nginx安装目录
      make
      make install
      
  • Nginx配置及文件

* ```bash
   [root@localhost conf]\# /usr/sbin/groupadd www 
   [root@localhost conf]\# /usr/sbin/useradd -g www www

    # /usr/local/webserver/nginx/conf/nginx.conf文件内容:
    user www www;
    worker_processes 2; #设置值和CPU核心数一致
    error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别
    pid /usr/local/webserver/nginx/nginx.pid;
    #Specifies the value for maximum file descriptors that can be opened by this process.
    worker_rlimit_nofile 65535;
    events
    {
      use epoll;
      worker_connections 65535;
    }
    http
    {
    include mime.types;
    default_type application/octet-stream;
    log_format main  '$remote_addr - $remote_user [$time_local] "$request" '
                 '$status $body_bytes_sent "$http_referer" '
                 '"$http_user_agent" $http_x_forwarded_for';
  #charset gb2312;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 8m;
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 60;
    tcp_nodelay on;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    gzip on; 
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
    #limit_zone crawler $binary_remote_addr 10m;
   #下面是server虚拟主机的配置
   server
    {
      listen 80;#监听端口
      server_name localhost;#域名
      index index.html index.htm index.php;
      root /usr/local/webserver/nginx/html;#站点目录
        location ~ .*\.(php|php5)?$
      {
        #fastcgi_pass unix:/tmp/php-cgi.sock;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
      }
      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
      {
        expires 30d;
    # access_log off;
      }
      location ~ .*\.(js|css)?$
      {
        expires 15d;
     # access_log off;
      }
      access_log off;
    }
  }
  ```
  • 启动过程中遇到的问题

    • # 在虚拟机centos7上安装nginx之后虚拟机内能访问,真机不能访问,修改iptables配置也不起作用,最后上网查找了资料后才发现centos的防火墙改成了firewall,不再叫iptables,开放端口的方法如下:
      firewall-cmd --zone=public --add-port=80/tcp --permanent
      # 重启防火墙
      systemctl stop firewalld.service  
      systemctl start firewalld.service
      
    • # 解决CentOS7出现的”Failed to start firewalld.service”问题
      systemctl unmask firewalld.servic
      # 然后再启动”systemctl start firewalld.service”即可解决问题没有报错。
      

4.2. 使用YUM安装

  • # 安装gcc环境
    yum install gcc-c++
    # 分别安装pcre,zlib,openssl
    yum install -y pcre pcre-devel
    yum install -y zlib zlib-devel
    yum install -y openssl openssl-devel
    # 安装nginx服务,从官网下载源码进行安装,
    

4.3. 基础用法

  • 启动:./nginx
  • 停止:
    • ./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止
    • ./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程
  • 重启./nginx -s quit ./nginx

4.4. 其他设置

4.4.1. 开机自启动

即在rc.local增加启动代码就可以了。

vi /etc/rc.local

增加一行 /usr/local/nginx/sbin/nginx 设置执行权限:

chmod 755 rc.local

第二种方法(基于系统服务,所以要先进行下面那个步骤):

chkconfig nginx on

4.5. 添加为系统服务

vi /etc/init.d/nginx

插入以下内容:

#! /bin/bash
# chkconfig: - 85 15
PATH=/usr/local/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
$DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
$DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0

设置执行权限

chmod a+x /etc/init.d/nginx

注册成服务

chkconfig --add nginx

5. Apache安装与使用(安装环境CentOS7)

5.1. 使用YUM安装

  • 安装httpd(apache服务的软件叫做httpd)

    • yum install -y httpd
      
  • 将Apache服务添加到 开机自启中

    • # 打开apache服务    
      systemctl start httpd
      # 设置开机自启
      systemctl enable httpd
      

5.2. 配置文件详情

  • 文件存放目录
服务目录 /etc/httpd
主配置文件 /etc/httpd/conf/httpd.conf
网站数据目录 /var/www/html
访问日志 /var/log/httpd/access_log
错误日志 /var/log/httpd/error_log
  • httpd.conf中的有用设置

    • #服务器根目录
      ServerRoot "/etc/httpd"
      
      #端口
      #Listen 12.34.56.78:80
      Listen 80
      
      #域名+端口来标识服务器,没有域名用ip也可以
      #ServerName www.example.com:80
      
      #不许访问根目录
      <Directory />
         AllowOverride none
         Require all denied
      </Directory>
      
      # 文档目录
      DocumentRoot "/var/www/html"
      
      # 对 /var/www目录访问限制
      <Directory "/var/www">
         AllowOverride None
         # Allow open access:
         Require all granted
      </Directory>
      
      # 对/var/www/html目录访问限制
      <Directory "/var/www/html">
         Options Indexes FollowSymLinks
         AllowOverride None
        Require all granted
      </Directory>
      
      # 默认编码
      AddDefaultCharset UTF-8
      
      #EnableMMAP off
      EnableSendfile on
      
      # include进来其它配置文件
      
      IncludeOptional conf.d/*.conf
      

5.3. Apache的使用

  • 使用systemctl [option] httpd来停止,重启,开启服务

  • 修改 网站数据的主目录

    • # 设置网站数据的主目录
      mkdir /wwwroot/www
      echo "hello suofeiya from new DIR" > /wwwroot/www/index.html
      # 修改DocumentRoot地址为自定义地址
      

6. DHCP服务

  • 期配置文件结尾以分号“;”分开(除{}),注意!
Copyright © AGou 2020 all right reserved,powered by Gitbook该文件修订时间: 2020-05-06 05:23:14

results matching ""

    No results matching ""