部署步骤
- 引言
- 1.Java环境配置
- 2.ngnix安装
- 好书推荐
引言
将自己的项目从本地开发环境顺利部署上线,是每个开发者必经的里程碑。今天,我们就从零开始,一步一步教你如何将手中的项目部署到线上,让全世界见证你的创造力。
首先,我们得从环境准备这一关键步骤谈起。一切精彩的表演都需要合适的舞台,项目部署亦是如此。市面上不乏优秀的云服务提供商,如阿里云、腾讯云、AWS、Google Cloud等,它们提供了多样化的服务器选项,从经济实惠的虚拟私有服务器(VPS)到强大的云服务器实例,总有一款适合你的需求和预算。注册账号,选择一款符合你项目规模的服务套餐,我们的部署之旅正式启航。
本文使用阿里云服务器
1.Java环境配置
jdk安装可以使用线上和本地安装,为了方便使用线上安装,直接使用命令安装
- 1.查看可以安装的jdk版本
yum -y list java*
- 2.选择自己需要的jdk版本进行安装,比如这里安装1.8,执行以下命令:
yum install -y java-1.8.0-openjdk-devel.x86_64
- 3.安装成功,查看版本
java -version
- 4.使用在线安装默认会被安装到usr/lib/jvm下
cd /usr/lib/jvm
ls
2.ngnix安装
- 1.查看防火墙状态
systemctl status firewalld.service
- 2.关闭防火墙
systemctl stop firewalld.service
systemctl status firewalld.service
如果后续想打开可执行以下命令:
systemctl start firewalld.service
也可以设置禁止防火墙自启
systemctl disable firewalld.service
防火墙开机自启
systemctl enable firewalld.service
- 3.安装所需插件
1.gcc 可以编译 C,C++,Ada,Object C和Java等语言(安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境)
yum install gcc-c++
2.pcre pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库
yum install -y pcre pcre-devel
3.zlib zlib-devel zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
yum install -y zlib zlib-devel
4.openssl openssl-devel OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
yum install -y openssl openssl-devel
5.nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库
- 4.安装nginx
这里我们再次选择在线安装
1.安装之前先安装wget
yum install wget
2.使用wget命令下载
wget https://nginx.org/download/nginx-1.21.6.tar.gz
如果报错:
-bash: wgte: command not found
那么将wget卸载重新安装就可
//先卸载
yum remove wget
//再安装
yum -y install wget
3.解压
tar xvf nginx-1.21.6.tar.gz
cd nginx-1.21.6
4.配置
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
5.编译和安装
make
make install
6.查看安装路径
whereis nginx
7.设置服务自启
编辑服务文件
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx service
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
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
8.服务的启动/停止/刷新配置文件/查看状态
#启动nginx服务
systemctl start nginx.service
#停止服务
systemctl stop nginx.service
#重新启动服务
systemctl restart nginx.service
#查看所有已启动的服务
systemctl list-units --type=service
#查看服务当前状态
systemctl status nginx.service
#设置开机自启动
systemctl enable nginx.service
# 停止开机自启动
systemctl disable nginx.service
nginx.conf https 配置
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem;#根证书地址(默认把证书放在conf目录)
ssl_certificate_key cert.key;#证书秘钥(默认把证书放在conf目录)
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;
}
}
将 http 重定向 https
server {
listen 80;
server_name localhost;
#将请求转成https
rewrite ^(.*) https://$server_name$1 permanent;
}
查看nginx 进程命令
ps aux | grep nginx
好书推荐
《Linux运维从入门到精通》从初学者角度出发,通过通俗易懂的语言、清晰明了的操作步骤,详细介绍了Linux系统管理与运维相关的技术。全书分为3篇,共19章,包括运维工作、服务器、Linux系统、Linux文件目录命令、Linux软件安装、Linux文本编辑、用户和用户组、文件管理与进程、Linux文件系统、Linux磁盘管理、Linux网络、防火墙、FTP服务器的搭建与应用、NFS服务器的搭建与应用、搭建Tomcat应用服务器、企业级Nginx应用服务器搭建、搭建基于LAMP架构服务、Linux数据服务、Linux shell脚本等内容。本书所有知识都结合具体应用场景和操作步骤进行介绍,可以使读者轻松领会Linux系统运维的精髓,快速提高运维技能。
传送门:https://item.jd.com/14199216.html
本书可作为系统运维入门者的自学用书,也可作为高等院校相关专业的教学参考书,还可供开发人员查阅参考。