序
在服务器搭建的 solo 一直没有用 Nginx,并且直接在 Tomcat 把端口改成 80,443,并且安装 SSL 证书。现因需添加其他服务,故启用 Nginx,便于方便管理。
一、下载 Nginx 安装包
http://nginx.org/en/download.html,选择适合自己的 Nginx 版本,这里选的是最新版,下载后并上传到 Centos 服务器。
二、安装之前准备工作
执行下面的命令,安装 nginx 依赖库
yum install gcc-c++
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel
解压安装包
tar -zxvf nginx-1.15.12
切换到解压目录下,执行
./configure
如果没错错误出现,说明当前可以安装 Nginx,执行
make
make install
成功后,默认安装位置为 /usr/local/nginx
三、设置开机自启动 Nginx
执行以下命令写自启动命令
cd /lib/systemd/system/
vim nginx.service
文件内容如下
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
退出并保存文件,执行 systemctl enable nginx.service
使 nginx 开机启动。
启动 systemctl start nginx.service
终止 systemctl stop nginx.service
重启 systemctl restart nginx.service
四、验证是否成功
输入网址 http://xxx.xxx.xxx.xxx
若出现欢迎界面,即安装成功。
五、反向代理 Tomcat
在这之前 tomcat 已可以加端口正常访问,我的 tomcat 已经默认 80 443 端口,并添加 SSL 证书,把证书撤掉,端口改回默认 8080 8443 端口。
购买下载 SSL 证书,个人反正就是免费的,阿里申请一个。下载 Nginx 版本的 SSL 放到 /usr/local/nginx/cert
中
在目录 /usr/local/nginx/conf
下,并修改配置文件 nginx.conf
注意在修改的时候 一定要备份! 真是血的教训!
在文件 http {}中进行配置,Nginx 默认是监听 80 端口的,还有好多注释,不用管,删掉
upstream myblog{
server localhost:8080;
}
server {
listen 80;
server_name aeneag.xyz www.aeneag.xyz;
rewrite ^/(.*)$ https://aeneag.xyz/$1 permanent;
}
server {
listen 443 ssl;
server_name aeneag.xyz www.aeneag.xyz;
root html;
index index.html index.htm;
ssl_certificate ../cert/aeneag.xyz.pem;
ssl_certificate_key ../cert/aeneag.xyz.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
proxy_pass http://myblog$request_uri;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 10m;
}
}
注意:新版的 Nginx 没有 ssl on;
变成了 listen 443 ssl;
保存退出后,在 /usr/local/nginx/sbin
目录下,执行 ./nginx -t
查看配置文件是否正确,如果正确重启 Nginx 服务 systemctl restart nginx.service
Tomcat 那边,需更改 server.xml
配置文件中的 host 节点
六、问题解决
因之前 linux 服务器上只有 tomcat 一个服务,并没有用 Nginx,现需在服务器上跑其他项目,故更改以便管理。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于