Linux新服务器初始化

部署Nginx

  1. 安装Nginx

首先要进行依赖下载

yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
  1. 在Linux上下载Nginx
wget http://nginx.org/download/nginx-1.25.1.tar.gz

注:这也可以在windows上去手动下载Nginx的包,让后放到Linux系统中

  1. (可选)为了方便管理,我们把这些软件放到一个文件夹中统一管理
# 创建文件夹
mkdir /usr/java
#将包移入文件夹中
mv nginx-1.25.1.tar.gz /usr/java
#转换到该文件夹下
cd /usr/java
  1. 解压包
#解压包
tar -zxf nginx-1.25.1.tar.gz
#转换到nginx文件夹下
cd nginx-1.25.1
  1. 配置nginx

./configure

出现如下界面即为成功
img.png

  1. 编译nginx
make
make install

出现“Leaving directory ‘/usr/java/nginx-1.25.1’”即为成功

  1. 启动Nginx
#转换到sbin文件夹下
cd /usr/local/nginx/sbin
#运行nginx
./nginx
  1. 验证Nginx启动是否成功

用ip:80访问即可

如访问失败,可检查是否为端口未开放?

# 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

部署Java

  1. 安装JDK

JDK去:https://www.oracle.com/cn/java/technologies/downloads/#java8 进行下载

img_1.png

或者可以从我的minio上获取

  1. 创建jdk安装目录
mkdir /usr/java/jdk

cd /usr/java/jdk
  1. 上传JDK包并解压缩
tar -xvf 包名
  1. 配置环境变量
vim /etc/profile

#然后在最末尾添加

export JAVA_HOME=/usr/local/jdk/具体解压后的目录
export PATH=$JAVA_HOME/bin:$PATH

  1. 加载配置文件
source  /etc/profile
  1. 查看java版本
java -version

部署Java项目

  1. 创建项目目录

这边随便创建一个就好,我们在根目录下创建一个项目目录

cd /
mkdir /shop
cd /shop
  1. 将jar包放在这个目录下,然后创建一个启动脚本

首先创建一个logs包存放日志

mkdir /shop/logs

脚本文件名叫:restart_auth.sh



JAR_NAME=testjava-server
JAR_PATH=/shop/
time=$(date "+%Y.%m.%d")
time2=$(date "+%Y%m%d%H%M%S")

echo "************** 执行停止脚本 ***************"
count=`ps -ef |grep java|grep $JAR_NAME|grep -v grep|wc -l`
if [ $count != 0 ];then
pid=`ps -ef |grep $JAR_NAME | grep -v grep | awk '{print $2}'`
kill -9 $pid
echo "** 进程 $JAR_NAME 已停止 "
else
echo "** $JAR_NAME 进程不存在..."
fi
echo "*******************************************"

cd $JAR_PATH
source /etc/profile
cp $JAR_NAME.jar $JAR_NAME$time2.jar
echo '**************备份********************'


nohup java -XX:+UseG1GC -jar -Xms256m -Xmx512m $JAR_NAME.jar > ./logs/testjava-server.log 2>&1 &
echo '**************启动********************'

将最上面的JAR_NAME JAR_PATH 以及最下面关于日志的文件名修改为自己的

  1. 启动脚本
sh restart_auth.sh

这个脚本启动之后会自动备份一个jar包,然后创建一个日志文件在logs包下。

  1. 查看日志
cd /logs
tail -f testjava-server.log

此时我们的java项目就启动成功了

配置Nginx的conf文件

假设我们在根目录下有创建了一个/shopreg/resource目录,里面存放着前端的静态资源

我们配置Nginx的conf文件

  1. 进入到Nginx目录下
/usr/local/nginx/conf
vim nginx.conf
  1. 配置一下Nginx的监听、转发路径

#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

#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 logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location /resource {
root /shopreg;
index index.html index.htm;
}

location /api/ {
proxy_pass http://localhost:48080/; # 转发到目标服务器
proxy_set_header Host $host; # 保留原始主机头
proxy_set_header X-Real-IP $remote_addr; # 客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root html;
# index index.html index.htm;
# }
#}


# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;

# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;

# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

}

然后esc,:wq保存

这里就假设我们前端发送的路径一律以/api开头,实际请求后端的接口路径为去掉/api

如:xxx.xxx.xxx.xxx:80/api/user/login 就会转发到 xxx.xxx.xxx.xxx:48080/user/login

  1. 重启Nginx(重载配置)
cd ../
cd /sbin
./nginx -s reload

到此,一个简易的java项目就启动了