将自己的项目从本地开发环境顺利部署上线,是每个开发者必经的里程碑。今天,我们就从零开始,一步一步教你如何将手中的项目部署到线上,让全世界见证你的创造力。 首先,我们得从环境准备这一关键步骤谈起。一切精彩的表演都需要合适的舞台,项目部署亦是如此。市面上不乏优秀的云服务提供商,如阿里云、腾讯云、AWS、Google Cloud等,它们提供了多样化的服务器选项,从经济实惠的虚拟私有服务器(VPS)到强大的云服务器实例,总有一款适合你的需求和预算。注册账号,选择一款符合你项目规模的服务套餐,我们的部署之旅正式启航。 本文使用阿里云服务器
jdk安装可以使用线上和本地安装,为了方便使用线上安装,直接使用命令安装
yum -y list java*
yum install -y java-1.8.0-openjdk-devel.x86_64
java -version
cd /usr/lib/jvm
ls
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl status firewalld.service
如果后续想打开可执行以下命令:
systemctl start firewalld.service
也可以设置禁止防火墙自启
systemctl disable firewalld.service
防火墙开机自启
systemctl enable firewalld.service
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 库
这里我们再次选择在线安装
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