Mac Osx下腾讯云centos7.2配置

    • 1. 服务器配置
      • a. 开放端口
      • b. 下载ssh私钥文件。
    • 2.远程连接
      • a.远程命令行
      • b.远程可视化界面(可选)
      • c. 远程文件管理
    • 3.java
    • 4.mysql
    • 5.tomcat
      • 支持https
      • http自动跳转https的安全配置
    • nginx
      • 安装 Nginx
      • 配置静态服务器访问路径
      • 支持https
      • 转发给Tomcat页面去掉端口号
    • Apache
    • 常用配置
      • a.防火墙

1. 服务器配置

a. 开放端口

进腾讯云购买好云主机后,打开控制台:

Mac Osx下腾讯云centos7.2配置_第1张图片

配置安全组,放通全部端口:

Mac Osx下腾讯云centos7.2配置_第2张图片

b. 下载ssh私钥文件。

Mac Osx下腾讯云centos7.2配置_第3张图片

上图是创建了私钥的网页,创建之前会有下载按钮,点击下载把私钥文件保存到本地用户名目录下的.ssh目录,私钥名字自己定义。.ssh是隐藏目录,要显示所有隐藏目录,可在终端输入:

defaults write com.apple.finder AppleShowAllFiles TRUE && killall Finder

保存好之后,需要修改这个文件的权限为600,在终端输入:

chmod 600 /Users/jady/.ssh/sanqi

然后再拷贝一份这个文件到非隐藏目录,以便稍后的使用,目录随意,我自己的是放在文稿里了。

要使用ssh登录,首先需要在腾讯云主机控制台设置加载密钥,选择你创建的密钥。

Mac Osx下腾讯云centos7.2配置_第4张图片

2.远程连接

a.远程命令行

下载Iterm2,打开设置,profiles,如图:
Mac Osx下腾讯云centos7.2配置_第5张图片
参考我的设置,把Command中的sanqi改为你自己的私钥文件名,把ip改为你的服务器公网ip,在Basics中设置一个Shortcut key,之后就可以使用快捷键一键打开这个命令连接服务器了,连接后的界面:

Mac Osx下腾讯云centos7.2配置_第6张图片

b.远程可视化界面(可选)

要想ubentu一样看到界面,需要安装VNC server和图形包。
第一步,安装GNOME桌面:

yum groupinstall GNOME Desktop

第二步,安装VNC server:

yum install tigervnc-server -y

第三步,设置登录密码:

vncpasswd

第四步,启动VNC server:

vncserver :1 

当然你可以输入其他数字,之后的输入对应上就行。

第五步,在你的本地电脑上安装VNCVieweer。输入服务器公网ip:1(我的是123.206.234.13:1)。界面如图:
Mac Osx下腾讯云centos7.2配置_第7张图片
如果连不上,可能需要关闭防火墙,

systemctl stop firewalld

用完再开启防火墙,

systemctl start firewalld

关闭VNC server的命令为:

vncserver -kill :1

c. 远程文件管理

使用ForkLift管理文件(破解版下载)。ForkLift是Mac上的一个文件管理和FTP文件管理的软件,并且扩展了Finder的功能,比如一键切换是否显示隐藏文件,右键新建文件等。我们这里主要用到ForkLift的FTP文件管理功能。

Mac Osx下腾讯云centos7.2配置_第8张图片

点击闪电按钮。

Mac Osx下腾讯云centos7.2配置_第9张图片

选择SFTP,输入地址,用户名,密码选择你的ssh文件,端口用22。

3.java

在iTerm2上连接服务器,查看可用的jar包:

yum -y list java*

安装列表中的jdk1.8

yum -y install java-1.8.0-openjdk*

可能会提示是否继续,输入y即可。
安装完,查看Java版本:

java -version

4.mysql

下载repo源:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 

安装mysql-community-release-el7-5.noarch.rpm

sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装MySQL

sudo yum install mysql-server

重启MySQL

service mysqld restart

修改MySQL密码

mysql -u root
set PASSWORD for 'root'@'localhost' = PASSWORD('123456');
exit

设置MySQL可以远程连接

mysql -u root -p

mysql-> grant all privileges on *.* to 'root'@'%' identified by '你的密码';

mysql-> flush privileges;

此时你已经可以远程连接数据库了,我是用的Navicat管理数据库,navicat11.2.14破解版 (DataGrip也不错哦)。
打开Navicat,
Mac Osx下腾讯云centos7.2配置_第10张图片

点击Connection,选MySQL,

Mac Osx下腾讯云centos7.2配置_第11张图片

输入你的服务器公网IP和数据库登录名和密码就可以连上了。如果连不上,按照文章最后的防火墙命令开放3306端口再试下。

5.tomcat

查看安装包

yum search tomcat  

安装tomcat

yum install tomcat tomcat-webapps tomcat-admin-webapps  
firewall-cmd --zone=public --add-port=80/tcp --permanent
80端口转发到8080,
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
此时直接输IP就可以访问Tomcat了,8080端口可以不用输了。-->

常用命令:

 systemctl start tomcat.service   //启动
 systemctl stop tomcat.service //停止
 systemctl restart tomcat.service //重启
 yum -y remove tomcat*  //卸载

支持https

参考https://www.qcloud.com/document/product/400/4143

配置SSL连接器,将www.domain.com.jks文件存放到/etc/tomcat/目录下,然后配置同目录下的server.xml文件:

 <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
                   maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                   keystoreFile="/etc/tomcat/www.sanqis.cn.jks" keystorePass="12345666"
                   clientAuth="false" sslProtocol="TLS" />

http自动跳转https的安全配置

到conf目录下的web.xml。在后面,,也就是倒数第二段里,加上这样一段

<login-config>
    
    <auth-method>CLIENT-CERTauth-method>
    <realm-name>Client Cert Users-only Arearealm-name>
    login-config>
    <security-constraint>
    
    <web-resource-collection>
    <web-resource-name>SSLweb-resource-name>
    <url-pattern>/*url-pattern>
    web-resource-collection>
    <user-data-constraint>
    <transport-guarantee>CONFIDENTIALtransport-guarantee>
    user-data-constraint>
    security-constraint>

最后记得访问的端口是8443,不是8080

nginx

安装 Nginx

yum install nginx -y

安装完成后,使用 nginx 命令启动 Nginx:

nginx

此时,访问 http://<您的域名> 可以看到 Nginx 的测试页面

如果无法访问,请重试用 nginx -s reload 命令重启 Nginx

配置静态服务器访问路径

外网用户访问服务器的 Web 服务由 Nginx 提供,Nginx 需要配置静态资源的路径信息才能通过 url 正确访问到服务器上的静态资源。

打开 Nginx 的默认配置文件 /etc/nginx/nginx.conf ,修改 Nginx 配置,将默认的 root /usr/share/nginx/html; 修改为: root /data/www;,如下:

示例代码:/etc/nginx/nginx.conf

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    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  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /data/www;

        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

}

配置文件将 /data/www/static 作为所有静态资源请求的根路径,如访问: http://<您的域名>/static/index.js,将会去 /data/www/static/ 目录下去查找 index.js。现在我们需要重启 Nginx 让新的配置生效,如:

nginx -s reload

重启后,现在我们应该已经可以使用我们的静态服务器了,现在让我们新建一个静态文件,查看服务是否运行正常。

首先让我们在 /data 目录 下创建 www 目录,如:

mkdir -p /data/www

创建第一个静态文件

在 /data/www 目录下创建我们的第一个静态文件 index.html

示例代码:/data/www/index.html


<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>第一个静态文件title>
head>
<body>
Hello world!
body>
html>

现在访问 http://<您的域名>/index.html 应该可以看到页面输出 [Hello world!]

到此,一个基于 Nginx 的静态服务器就搭建完成了,现在所有放在 /data/www 目录下的的静态资源都可以直接通过域名访问。

支持https

申请:https://www.qcloud.com/document/product/400/6814
参考:https://www.qcloud.com/document/product/400/4143

将域名 www.domain.com 的证书文件1_www.domain.com_bundle.crt 、私钥文件2_www.domain.com.key保存到同一个目录,例如/usr/local/nginx/conf目录下。
更新Nginx根目录下 conf/nginx.conf 文件如下:

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  www.sanqis.cn;
     # return      301 https://$server_name$request_uri;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        rewrite ^(.*)$ https://$host$1 permanent;

        location / {
        root         /data/www;
        index index.html;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

server {
       listen       443 ssl http2 default_server;
       listen       [::]:443 ssl http2 default_server;
       ssl on;
       server_name  www.sanqis.cn;
#
       ssl_certificate "/etc/pki/nginx/1_www.sanqis.cn_bundle.crt";
       ssl_certificate_key "/etc/pki/nginx/private/2_www.sanqis.cn.key";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
       ssl_prefer_server_ciphers on;
#
       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;
#        
       location / {
            root         /data/www;
            index index.html;
       }

       location ^~ /server/ {
            proxy_pass   https://10.154.10.189:8443/;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location ^~ /discuz/ {
            proxy_pass   http://10.154.10.189:8081/;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location ^~ /blog/ {
           rewrite ^/blog/(.*)$ https://jadyli.github.io/blog/$1 permanent; 
        }
#
       error_page 404 /404.html;
           location = /40x.html {
       }
#
       error_page 500 502 503 504 /50x.html;
           location = /50x.html {
       }
   }

重启生效。

转发给Tomcat页面去掉端口号

继续修改nginx.conf:

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  www.sanqis.cn;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        rewrite ^(.*)$ https://$host$1 permanent;

        location / {
        root         /data/www;
        index index.html;
        }

        location ^~ /server/ {
            proxy_pass   https://10.154.10.189:8443/;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location ^~ /discuz/ {
            proxy_pass   http://10.154.10.189:8081/;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
}

Apache

yum install httpd.x86_64
httpd -v

  AllowOverride none
    Require all denied
 
Listen 8081

    DocumentRoot  "/var/www/discuz"
    DirectoryIndex index.html index.htm Default.html Default.htm index.php

    
        AllowOverride All
        Options FollowSymLinks Includes ExecCGI
        Require all granted
    

常用配置

a.防火墙

开启防火墙

 systemctl start firewalld

停止

systemctl disable firewalld

禁用

systemctl stop firewalld

重启

systemctl restart firewalld.service

显示状态

firewall-cmd –state

更新防火墙规则

firewall-cmd –reload

添加端口(比如:80)

firewall-cmd --zone=public --add-port=80/tcp --permanent

permanent表示永久生效。

移除端口

firewall-cmd --remove-port=80/tcp 

查看开放的端口

firewall-cmd --list-ports 

查询端口是否开启(比如:80)

firewall-cmd --query-port=80/tcp

查看所有端口状态

netstat -tunlp

查看端口占用

netstat -lnp|grep 8443

查看占用端口的进程号

ps 21484

杀死占用端口的进程号

kill -9 21484

端口转发(比如:80–>8080)

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

你可能感兴趣的:(linux)