一、序言
今天来唠唠搭建云平台项目这件事儿,一直想着在云服务器上自己搞点事儿,做个网站啊啥的,后来也慢慢上手了,刚开始各种坑,不过时间一长反倒不觉得那会儿难了。
为啥从go语言跳到云平台项目呢,主要是基本知识咱学差不多了,来瞧瞧Go在项目开发里面怎么玩,咱的云平台项目后台用Go语言来实现,前端用React或者Html,那个方便用哪个。
闲言少叙,进入今天的随笔记录吧。
二、背景
目前我们的项目基本都是前后端分离的,后端启动即可,前端搭建往往还得搭建Web服务器,经常使用的Web服务器多是Nginx和Apache Http。两款产品各有优劣,简单总结一下:
Nginx对于高并发支持非常不错,占用资源极小,配置有一定门槛,但是也不难,但是对于支持重转向和动态模块就比较弱鸡了;
Apache Http对于支持重转向和动态模块很不错,而且对于前端是PHP语言开发的项目支持地很nice,运行稳定但是占用资源却比Nginx高。
一句话:要是项目前端是PHP写的或者追求性能和稳定,就选Apache Http;其它就选Nginx。
三、概况
综上,咱这次准备用的就是Nginx了,注意:咱这次做的只支持http协议,如果需要支持https的话,需要额外的依赖包。(有需要https协议的请留言)
四、准备工作
准备安装包:(版本号的问题不考虑,博主推荐的这几个版本号没问题)
版权问题,我就不在这放链接了,小伙伴们自寻(Apache Http是开源的,所以才能放链接)
nginx-1.22.1.tar.gz
openssl-fips-2.0.16.tar.gz
pcre-8.45.tar.gz
zlib-1.2.13.tar.gz
把上面的4个安装包存放在/opt/module/nginx目录下。
五、具体步骤
接下来,就按照下面的步骤一行行执行即可。
cd /opt/module/nginx
tar -zxvf openssl-fips-2.0.16.tar.gz
cd openssl-fips-2.0.16/
./config
make
make install
cd /opt/module/nginx
tar -zxvf zlib-1.2.13.tar.gz
cd zlib-1.2.13/
./configure
make
make install
cd /opt/module/nginx
tar -zxvf pcre-8.45.tar.gz
cd pcre-8.45/
./configure
make
make install
cd /opt/module/nginx
tar -zxvf nginx-1.22.1.tar.gz
cd nginx-1.22.1/
./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.45 --with-zlib=../zlib-1.2.13 --with-openssl=../openssl-fips-2.0.16
make
make install
六、进阶
必须得搞一个开机自启和服务启动功能,走起~
执行命令:
vim /usr/lib/systemd/system/nginx.service
写入内容:
[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPost=/bin/sleep 0.1
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存后执行命令:
systemctl enable nginx.service
七、小结
OK!到此就可以愉快地用Nginx进行玩耍了!
启动:systemctl start nginx
停止:systemctl stop nginx
重启:systemctl restart nginx