进腾讯云购买好云主机后,打开控制台:
配置安全组,放通全部端口:
上图是创建了私钥的网页,创建之前会有下载按钮,点击下载把私钥文件保存到本地用户名目录下的.ssh
目录,私钥名字自己定义。.ssh
是隐藏目录,要显示所有隐藏目录,可在终端输入:
defaults write com.apple.finder AppleShowAllFiles TRUE && killall Finder
保存好之后,需要修改这个文件的权限为600,在终端输入:
chmod 600 /Users/jady/.ssh/sanqi
然后再拷贝一份这个文件到非隐藏目录,以便稍后的使用,目录随意,我自己的是放在文稿
里了。
要使用ssh登录,首先需要在腾讯云主机控制台设置加载密钥,选择你创建的密钥。
下载Iterm2,打开设置,profiles,如图:
参考我的设置,把Command中的sanqi改为你自己的私钥文件名,把ip改为你的服务器公网ip,在Basics中设置一个Shortcut key,之后就可以使用快捷键一键打开这个命令连接服务器了,连接后的界面:
要想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)。界面如图:
如果连不上,可能需要关闭防火墙,
systemctl stop firewalld
用完再开启防火墙,
systemctl start firewalld
关闭VNC server的命令为:
vncserver -kill :1
使用ForkLift管理文件(破解版下载)。ForkLift是Mac上的一个文件管理和FTP文件管理的软件,并且扩展了Finder的功能,比如一键切换是否显示隐藏文件,右键新建文件等。我们这里主要用到ForkLift的FTP文件管理功能。
点击闪电按钮。
选择SFTP,输入地址,用户名,密码选择你的ssh文件,端口用22。
在iTerm2上连接服务器,查看可用的jar包:
yum -y list java*
安装列表中的jdk1.8
yum -y install java-1.8.0-openjdk*
可能会提示是否继续,输入y即可。
安装完,查看Java版本:
java -version
下载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,
点击Connection,选MySQL,
输入你的服务器公网IP和数据库登录名和密码就可以连上了。如果连不上,按照文章最后的防火墙命令开放3306端口再试下。
查看安装包
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://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" />
到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
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://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 {
}
}
重启生效。
继续修改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 {
}
}
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
开启防火墙
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