腾讯云服务器上(Centos7)安装服务器环境实践

Liunx服务器不管是前端还是后端开发人员都是必须接触和了解的,安装各种各样的开发环境并不像Windows一样有界面能够便利操作,所以这里记录一下前端和后端需要的服务器环境!

# 后端开发环境

# JDK8安装

# 第一步、先需要下载JDK8的Liunx版本,JDK8的下载地址 ,点击红圈中的gz文件下载。
# 第二步、登录服务器
代码语言:javascript
复制
cd ..
#回到根目录
cd usr/
mkdir java

tar -zxvf jdk-8u271-linux-x64.tar.gz
#将下载的gz文件上传到java文件下,然后解压

vim /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_271
CLASSPATH=$JAVA_HOME/lib/
PATH=PATH:JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
#配置环境

source /etc/profile
#保存推出并重启文件生效

java-verison

# Maven安装

# 第一步、下载Maven文件

Maven官网下载地址

代码语言:javascript
复制
mkdir -p /usr/maven
#创建一个Maven目录
wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
#下载maven
tar -zxf apache-maven-3.6.3-bin.tar.gz
#解压文件
# 第二步、解压完成之后,还需要配置一下Maven的环境变量
代码语言:javascript
复制
vim /etc/profile
#配置
export M2_HOME=/usr/maven/apache-maven-3.6.3
export PATH=PATH:JAVA_HOME/bin:$M2_HOME/bin
#添加
source /etc/profile
#刷新配置文件
mvn-v
#刷新配置之后测试是否安装成功

# Jenkins安装

网上下载Jenkins的war然后上传到服务器

Jenkins的官网下载速度非常的慢,所以我备份一个在云盘,有需要的可以直接下载

分享链接:https://cloud.codezhanbo.cn/#s/6H-nnEEQ 访问密码:LFKXa

代码语言:javascript
复制
mkdir -p /usr/jenkins

cd jenkins

#将下载的jenkins安装包上传到jenkins路径下

#启动Jenkins,如果是学生机1核2G使用下面命令
nohup java -Xms256m -Xmx256m -XX:+UseSerialGC -jar jenkins.war --httpPort=8080 >output 2>&1 &

#启动Jenkins,如果是虚拟机则使用下面的命令执行
nohup java -Xms1024m -Xmx1024m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -jar jenkins.war --httpPort=8080 >output 2>&1 &

# 前端开发环境

# Node安装

本来应该是简简单单使用yum命令即可安装,但是我发现安装下来的node版本实在过低,我的前端项目都无法启动,所以又只能使用yum卸掉node重新安装了一次。虽然我在阿里云那台机器上已经安装过了版本较新的node,但是时间过得太久了中间的一些操作步骤都是忘得一干二净的。又只能开始百度找教程了,找了好几篇才找到自己想要那的教程,为了避免日后还有这样的需求或者是说有这样需求的朋友产生麻烦,所以我就记录一下整个流程。毕竟每个人的机器不一样,然后呢我就贴出全部的指令,避免大家产生不必要的麻烦。

# 第一步、 准备下载Node

大家登陆远程服务器之后肯定都是在当前用户下的路径

代码语言:javascript
复制
mkdir -p /home/software/
#创建一个software目录
cd /home/software/
#cd进去
wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
#下载node的压缩包文件
tar xf /home/sixmillions/node-v12.16.1-linux-x64.tar.xz -C /usr/local/
# 第二步、解压压缩文件到指定目录
代码语言:javascript
复制
tar xf /home/software/node-v12.16.1-linux-x64.tar.xz -C /usr/local/
#压缩文件到/usr/local/
cd /usr/local
#cd进去
mv node-v12.16.1-linux-x64 node-v12.16.1
#把文件复制一份到node-v12.16.1
# 第三步、配置系统环境
代码语言:javascript
复制
vim /etc/bashrc

加入:

export NODE_HOME=/usr/local/node-v12.16.1
export PATH=NODE_HOME/bin:PATH

#生效
source /etc/bashrc

# 第四部、建立软连接
代码语言:javascript
复制
ln -s /usr/local/node-v12.16.1/bin/npm /usr/local/bin/

ln -s /usr/local/node-v12.16.1/bin/node /usr/local/bin/

# 第五步、测试
代码语言:javascript
复制
node -v

npm -v

# 第六步、配置node
代码语言:javascript
复制
持久使用
npm config set registry https://registry.npm.taobao.org
配置后可通过下面方式来验证是否成功
npm config get registry

OK,到这里那我们的安装就已经完成了!!

# 个人网站服务

# Centos7宝塔搭建个人Tipask(问答系统)

本文基于在会宝塔基本操作的基础之上讲解,来到宝塔控制版面。

image-20200708224841861

找到Tipask,直接点击一键源码部署。

image-20200708224911780

填写你自己的域名,然后数据库名称要修改tipask(这个没修改坑我几天没弄好)

image-20200708225238623

一键部署ok

image-20200708225307913

访问出现404,是因为没有配置nginx

image-20200708225542601

配置nginx:

image-20200708225834960

现在ok拉

image-20200708230041301

图片不显示的原因,配置nginx

image-20200708230137318

# Centos7宝塔搭建Gogs(个人代码仓库)

第一步,安装宝塔

代码语言:javascript
复制
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

第二步,安装gogs

代码语言:javascript
复制
安装Git (已经安装的跳过)
yum install -y git

查看Git版本
git --version

创建一个git用户组
groupadd git

创建一个git用户并添加到git用户组
useradd -g git git

修改git用户的密码
passwd git
创建好了之后, 切换到Git身份
su git

这时候已经是git用户了, 进入git的home目录
cd ~

下载gogs安装压缩包, 双引号里的下载地址替换为官方最新版本的下载地址
wget -c "https://dl.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.zip" -O gogs.zip

解压安装包
unzip gogs.zip

进入gogs目录
cd gogs

启动安装程序
./gogs web

在宝塔面板->安全-> 添加3000端口, 允许访问

安装界面:数据库在宝塔中新建一个,数据库名称:gogs,编码使用utf-8_general_ci。mysql最好5.7以上。

image-20200708202907430

应用名称看自己想法起,域名和应用url影响你的仓库链接,使用你自己的域名即可。

image-20200708203126066
代码语言:javascript
复制
安装完成后, 回到终端, 退出当前的git用户
exit

为gogs添加服务,开机启动

创建服务配置文件

vim /lib/systemd/system/gogs.service

加入以下内容, 保存退出:

代码语言:javascript
复制
[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mysqld.service

[Service]

Modify these two values and uncomment them if you have

repos with lots of files and get an HTTP error 500 because

of that

#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git

[Install]
WantedBy=multi-user.target

设置开机启动

代码语言:javascript
复制
systemctl enable gogs.service

并手动启动服务

代码语言:javascript
复制
systemctl start gogs

查看服务状态

代码语言:javascript
复制
systemctl status gogs

配置nginx反向代理,这个时候就可以通过域名访问了, https证书在宝塔界面配置部署即可, 不用改gogs配置

image-20200708211416090

# Centos7宝塔安装个人私有云(可道云)

第一步安装宝塔

代码语言:javascript
复制
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

第二步,访问宝塔界面一键安装LNPM。

第三步,搭建网站

image-20200708181347094
image-20200708180457396

第四步,使终端连接服务器,然后 cd /www/wwwroot/你创建的域名/目录下

第五步,开始安装kodbox

代码语言:javascript
复制
wget http://static.kodcloud.com/update/download/kodbox.1.09.zip

unzip kodbox.1.09.zip && chmod -Rf 777 ./*

然后直接在网站管理中,访问你之前创建的站点可以啦

image-20200708180706645

优化:

主要是由于服务器限制了上传大小,或超时时间太短引起; 推荐如下配置: 推荐环境: centos7 + nginx + mysql5.6 + php7.3 + redis;

1、修改php配置文件php.ini

image-20200708181033399
image-20200708181049941
代码语言:javascript
复制
post_max_size = 500M;
upload_max_filesize = 500M;
memory_limit = 500M;
max_execution_time = 3600;
max_input_time = 3600;

2、修改nginx的配置文件

image-20200708181109266
image-20200708181209148
代码语言:javascript
复制
client_max_body_size 500M;
client_header_timeout 3600s;
client_body_timeout 3600s;
fastcgi_connect_timeout 3600s;
fastcgi_send_timeout 3600s;
fastcgi_read_timeout 3600s;

其他webserver相应修改类似限制;如apache需要修改LimitRequestBody

3、修改可道云配置

image-20200708181148699

设置方法:管理员登陆可道云进入后台 系统设置---基础设置---上传/下载

  1. 设置分片大小: 推荐5M

大文件上传时切分成片进行并发上传,从而实现加速和断点续传, 推荐5M; 此值必须小于下述配置;否则会引起上传异常(上传失败,进度回退) php.ini: post_max_size, upload_max_filesize ==> 5M nginx: client_max_body_size ==> 5M;

4、nginx + php-fpm上传优化

image-20200708181204362

在nginx.conf中添加如下代码,参考 ,更多nginx优化

代码语言:javascript
复制
#使用共享内存做临时存贮提高上传速度,共享内存需要大一些,否则上传大文件内存不足

client_body_in_file_only clean;
client_body_temp_path /dev/shm 1 2;
fastcgi_param REQUEST_BODY_FILE $request_body_file;