CentOS 7.4
nginx-1.14.0
java 8
yum -y update
yum install -y wget vim gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
(CentOS默认安装路径不符,可能导致安装失败。因此需要再将libldap拷贝到新目录)
cp -frp /usr/lib64/libldap* /usr/lib/
(nginx,php等不同服务,需要使用相同的用户才能共享文件。因此我们创建web服务统一的用户组及用户:www组及www用户)
cd /tmp
groupadd www
useradd -g www www
/var/www 静态文件目录(由nginx管理)
/var/jar Java服务目录(存放可执行jar包)
mkdir /var/www/
chown -R www:www /var/www
mkdir /var/jar/
chown -R www:www /var/jar
CentOS 7.4 使用firewalld 而不是 iptable
启用firewalld
systemctl start firewalld.service
打开80端口并重启
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload
firewalld 基本操作命令如下:
打开80端口 firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload
启动 systemctl start firewalld.service
停止 systemctl stop firewalld.service
重启 systemctl restart firewalld.service
自启动 systemctl enable firewalld.service
停止自启动 systemctl disable firewalld.service
查看打开端口 firewall-cmd --zone=public --list-ports
安装到usr/local目录
cd /usr/local/
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar -zxvf nginx-1.14.0.tar.gz
rm nginx-1.14.0.tar.gz
cd nginx-1.14.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make
make install
创建nginx服务配置文件
vim /usr/lib/systemd/system/nginx.service
编辑如下内容
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置nginx自启动
chmod 754 /usr/lib/systemd/system/nginx.service
systemctl enable nginx.service
systemctl restart nginx.service
编辑配置文件( usr/local/nginx/conf/nginx.conf )
vim usr/local/nginx/conf/nginx.conf
修改nginx.conf中的用户,设置为web服务用户 www
user www;
修改nginx.conf中的location配置,指向/var/www 目录
location / {
root /var/www;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www;
}
在nginx.conf 配置文件中将api子域名指向8080端口的 java web服务
location /api {
proxy_pass http://localhost:8080;
proxy_redirect off;
}
完整nginx.conf 配置文件参考如下:
user www;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /var/www;
index index.html index.htm;
}
location /api {
proxy_pass http://localhost:8080;
proxy_redirect off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www;
}
}
}
nginx常用命令
启动 service nginx start
重启 service nginx restart
停止 service nginx stop
强制关闭 pkill nginx
安装之前先检查一下系统有没有自带jdk
rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj
如果有安装可以使用如下命令批量卸载所有带有Java的文件
rpm -qa | grep java | xargs rpm -e --nodeps
安装1.8.0的所有文件
yum install java-1.8.0-openjdk* -y
安装后用 java -version命令可查看版本(当前1.8.0_191)
java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
1)、申请购买域名
1)、在/usr/local/nginx/conf目录下创建cert目录,将下载的SSL证书复制到cert目录下
2)、修改nginx配置文件(/usr/local/nginx/conf目录下的nginx.conf文件)
user www;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.testdomain.cn; #将www.testdomain.cn修改为自己的域名
rewrite ^(.*)$ https://${server_name}$1 permanent; #将http请求重定向到https
location / {
root /var/www;
index index.html index.htm;
}
location /xxx {
proxy_pass http://localhost:8080;
proxy_redirect off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www;
}
}
server {
listen 443 ssl;
server_name www.testdomain.cn; #将www.testdomain.cn修改为自己的域名
root html;
index index.html index.htm;
ssl_certificate cert/3367785_www.testdomain.cn.pem; #将3367785_www.testdomain.cn.pem修改为自己的证书文件
ssl_certificate_key cert/3367785_www.testdomain.cn.key;#将3367785_www.testdomain.cn.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 / {
proxy_pass http://127.0.0.1:8080;#需要访问的端口
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect default;
root html;
index index.html index.htm;
}
}
}
3)、重启nginx服务器
service nginx restart