准备工作
- 安装
git
软件,这样子才能够快速从 github
中将代码拉取到服务器。
安装成功后,我们可以验证一下
有如下信息展示,那就是安装成功了。

- 后端是使用
go
进行开发的,所以要安装 go
软件。首先我们可以在官网中找到源码下载地址 go 源码下载地址
找到相关的版本,这里我直接使用最新版
1 2 3
| wget https://golang.google.cn/dl/go1.15.2.linux-amd64.tar.gz
tar -zxvf go1.15.2.linux-amd64.tar.gz
|
下载解压完成后,我们就会有一个 go
的目录了。

我们进入到 go
目录中,会发现有一个 bin
目录,在这个目录当中我们就可以直接使用 go version
来查看是否已经解压成功了。

接着我们就需要将 go
命令放到全局命令当中去。
1
| ln -s /path/go/bin/go /usr/local/bin/
|
这样子我们就可以在命令行中直接使用 go
命令了。
- 后端会使用到数据库,所以接着就是安装
mysql
软件。
首先先准备编译 mysql
必须要的环境
1
| yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison
|
然后下载安装包,并解压
1 2 3
| wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz
tar -zxvf mysql-boost-5.7.23.tar.gz -C /path/
|
之后对其进行编译安装
1 2 3
| cmake -DCMAKE_INSTALL_PREFIX=/path/servers/mysql -DMYSQL_DATADIR=/path/datas/mysql/data -DSYSCONFDIR=/path/config/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/path/src/mysql/boost
make && make install
|
在编译安装过程报错了
1 2 3 4 5 6 7 8
| c++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <http://bugzilla.redhat.com/bugzilla> for instructions. make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] Error 4 make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2 make: *** [all] Error 2
|
百度说是内存不足,好吧机器太差了。解决方法就是添加虚拟内存,我还记得最开始还在用 win95
台式机的时候,经常因为内存不足而添加虚拟内存的日子。
1 2 3 4 5 6 7
| dd if=/dev/zero of=/swapfile bs=64M count=32 # count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=1024MB
mkswap /swapfile #把刚才空间格式化成swap格式 swapon /swapfile #使用刚才创建的swap空间
|
如果想要删除的话,可以执行如下命令
1 2
| swapoff /swapfile rm /swapfile
|
设置文件夹权限
1
| chown -R mysql:mysql /path/servers/mysql
|
设置软连接
1
| ln -s /path/mysql/bin/mysql /usr/local/bin/
|
初始化数据库
1
| /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
|
命令执行完成后记得查看生成的日志喔,这里面会有初始化的账号密码。
然后进入 mysql
应用目录下的 support-files/
可以找到 mysql.server
执行文件
运行后报错
1
| mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
|
先创建当前目录
再运行 mysql.server start
就运行成功了。
使用 mysql -u user -p
执行发现报错
1
| ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
|
解决方案:
1
| ln -s /var/lib/mysql/mysql.sock /tmp
|
- 前端是使用
vue
进行开发的,这里暂时不需要安装其环境,我们只需要在本地开发环境 build
好一个文件就行了,不过需要 nginx
支持,所以接下来我们需要安装 nginx
。
下载源码 && 解压并进入目录
1 2 3 4 5
| wget http://nginx.org/download/nginx-1.19.2.tar.gz
tar -zxvf nginx-1.19.2.tar.gz
cd nginx-1.15.7
|
必要依赖安装
1
| yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
|
初始化 && 编译 && 安装
1 2 3 4 5 6 7 8
| ./configure \ --prefix=/path/nginx \ --conf-path=/path/nginx.conf \ --user=nginx \ --group=nginx
make && make install
|
添加 vhosts
目录
1 2
| # 在nginx.conf中添加 include /path/nginx/vhosts/*.vhost;
|
default.vhost
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| server { listen 80; server_name your_server_name; access_log /work/logs/nginx/default.log; error_log /work/logs/nginx/default.error.log warn; location / { root /var/www/domain1.com; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/domain1.com/$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
|
启动服务
找到服务安装路径下的 sbin
目录,执行如下命令
这样我们就将环境全部搭建好了,最后就剩代码部署,然后调整 vhost
到合适配置就行。
最后将代码部署到服务器上就完成了。