Mac Osx下腾讯云centos7.2配置

[TOC]

1. 服务器配置

a. 开放端口

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

这里写图片描述

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

这里写图片描述

b. 下载ssh私钥文件。

这里写图片描述

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

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

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

1
chmod 600 文件名

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


2.远程连接

a.远程命令行

下载Iterm2,打开设置,profiles,如图:

参考我的设置,把Command中的sanqi改为你自己的私钥文件名,把ip改为你的服务器公网ip,在Basics中设置一个Shortcut key,之后就可以使用快捷键一键打开这个命令连接服务器了,连接后的界面:

这里写图片描述

b.远程可视化界面

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

1
yum groupinstall GNOME Desktop

第二步,安装VNC server:

1
yum install tigervnc-server -y

第三步,设置登录密码:

1
vncpasswd

第四步,启动VNC server:

1
vncserver :1

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

第五步,在你的本地电脑上安装VNCVieweer。输入服务器公网ip:1(我的是123.206.234.13:1)。界面如图:

如果连不上,可能需要关闭防火墙,

1
systemctl stop firewalld

用完再开启防火墙,

1
systemctl start firewalld

关闭VNC server的命令为:

1
vncserver -kill :1

3.java

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

1
yum -y list java*

安装列表中的jdk1.8

1
yum -y install java-1.8.0-openjdk*

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

1
java -version

4.mysql

下载repo源:

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

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

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

安装MySQL

1
sudo yum install mysql-server

重启MySQL

1
service mysqld restart

修改MySQL密码

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

设置MySQL可以远程连接

1
2
3
4
5
mysql -u root -p
mysql-> grant all privileges on *.* to 'root'@'%' identified by '你的密码';
mysql-> flush privileges;

此时你已经可以远程连接数据库了,我是用的Navicat管理数据库,navicat11.2.14破解版
打开Navicat,
这里写图片描述

点击Connection,选MySQL,

这里写图片描述

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


5.tomcat

查看安装包

1
yum search tomcat

安装tomcat

1
yum install tomcat tomcat-webapps tomcat-admin-webapps

防火墙添加80端口

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

80端口转发到8080,

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

此时直接输IP就可以访问Tomcat了,8080端口可以不用输了。

常用命令:

1
2
3
4
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文件:

1
2
3
4
<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。在后面,,也就是倒数第二段里,加上这样一段

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

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

nginx

安装 Nginx

1
yum install nginx -y

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

1
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

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
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 让新的配置生效,如:

1
nginx -s reload

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

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

1
mkdir -p /data/www

创建第一个静态文件

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

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

1
2
3
4
5
6
7
8
9
10
<!DOCTYPE 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 文件如下:

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
56
57
58
59
60
61
62
63
64
65
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.13.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 ^~ /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:

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
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.13.189:8443/;
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 {
}
}

常用配置

a.防火墙

开启防火墙

1
systemctl start firewalld

停止

1
systemctl disable firewalld

禁用

1
systemctl stop firewalld

重启

1
systemctl restart firewalld.service

显示状态

1
firewall-cmd –state

更新防火墙规则

1
firewall-cmd –reload

添加端口(比如:80)

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

permanent表示永久生效。

移除端口

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

查看开放的端口

1
firewall-cmd --list-ports

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

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

查看所有端口状态

1
netstat -tunlp

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

1
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
如果您觉得这篇文章不错,可以打赏支持下哦,谢谢