⼀ 、搭建前期准备
注:
操作系统CentOS7.0以上 64位
需要开通端⼝:22 80 3306 6379 19967 ftp:有则开(21,20000/30000)
① 安装必要软
yum install -y zip unzip wget curl git vim zsh nano screen
② 安装oh my zsh(有助于补全和选择⽬录)
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/mas
ter/tools/install.sh -O -)"
⼆、搭建LNMP环境
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz
tar xzvf oneinstack-full.tar.gz
cd oneinstack
./install.sh
安装选项选择
1.设置SSH端口(默认22),回车即可
Do you want to enable iptables? [y/n]: n
2.然后选择是否安装 web,输入y
3.输入 1 安装 nginx
9
4.输入 3 不安装Apache
5.输入 5 不安装tomcat
6.然后选择是否安装数据库database,输入y
7.输入 2 安装mysql-5.7
8.然后输入数据库root密码123456(注:妥善保管)
9.然后输入1 选择从二进制安装
10.然后输入 y 安装PHP
11.输入 8 安装 PHP8.0
12.输入 y 安装php 缓存插件
Do you want to instal opcode cache of the PHP? [y/n]:y
13.输入 1 安装Zend OPcache
14.Please select PHP extensions: 选择 fileinfo和Redis【这个地方特别注意】
15.Do you want to install Nodejs? [y/n]: n 不安装nodejs
16.输入 n 不安装Pure-FTPd
17.输入 y 安装phpMyAdmin
- 输入 y 安装redis-server
19.输入 n 不安装memcached-server
三、redis配置
配置redis密码
执⾏命令修改/usr/local/redis/etc/redis.conf⽂件,(也可以⼿动修改redis.conf
⽂件)
echo requirepass redis的密码 >> /usr/local/redis/etc/redis.conf
重启redis
systemctl restart redis-server
四、创建数据库
==使⽤oneinstack⼀键搭建中的phpMyAdmin插件==
vim /etc/my.cnf
在my.cnf 里面设置
[mysqld]下面添加语句
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVIS
ION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
访问
http://你的ip地址/phpMyAdmin/
创建数据库⽤户名和数据库名,密码
上传之前,
先解压web源码
,⽬录下会有 live---admin--visitor.sql⽂件,导⼊数
据库 (其中admin/visitor 是搭建完成后登陆⽹站后台的默认账号和密码)
导⼊附近这个函数
getDistance.sql
内容如下:
CREATE FUNCTIONgetDistance
(lat1 FLOAT, lon1 FLOAT, lat2 FLOAT, lon2 FL
OAT)
RETURNS FLOAT
DETERMINISTIC
BEGIN
RETURN ROUND(6378.138 * 2 * ASIN(SQRT(POW(SIN((lat1 * PI() / 180 - lat
2 * PI() / 180) / 2), 2)
- COS(lat1 * PI() / 180) * COS(lat2 * PI() / 180)
- POW(SIN(( lon1 * PI() / 180 - lon2 * PI() / 180 ) / 2),2))),
2);
END
注意:必须要使⽤Navicat导⼊
五、web站点搭建
在oneinstack⽬录下添加虚拟机
cd ~/oneinstack
3
./vhost.sh
选项选择
1.选择1 ,Use HTTP Only
2.然后输入域名
3.输入网站的文件目录,直接回车就行
4.然后添加其他域名,有的话就输入 y ,没有就输入 n
5.是否添加防盗链,输入n
Do you want to add hotlink protection? [y/n]: n
6.Allow Rewrite rule? [y/n]: y
Please input the rewrite of programme :
wordpress,opencart,magento2,drupal,joomla,laravel,thinkphp,discuz,typecho,ec
(Default rewrite: other): thinkphp
7.输入 y ,开启日志
Allow Nginx/Tengine/OpenResty access_log? [y/n]: y
nginx thinkphp 静态化
1、修改/usr/local/nginx/conf/rewrite/thinkphp.conf,
vim /usr/local/nginx/conf/rewrite/thinkphp.conf
文件内容如下;
location / {
if (!-e $request_filename) {
rewrite ^(.)$ /index.php?s=$1 last; break; } } 修改为 location / { if (!-e $request_filename) { rewrite ^/([0-9]+)$ /home/show/index?roomnum=$1 last; rewrite ^(.)$ /index.php?s=$1 last;
break;
}
}
2、然后创建pathinfo.conf⽂⽂件
touch /usr/local/nginx/conf/pathinfo.conf
vim /usr/local/nginx/conf/pathinfo.conf
然后输入以下内容并保存
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "(.+?.php)(/.*)") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
3、然后编辑 /usr/local/nginx/conf/vhost/您的域名.conf ⽂件,
vim /usr/local/nginx/conf/vhost/您的域名.conf
编辑文件如下.
location ~ .php {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
在include fastcgi.conf; 下⾯面加入一句
include pathinfo.conf;
4.修改⽹站根⽬录为public
server {
listen 80;
server_name www.abc.com;
access_log /data/wwwlogs/www.abc.com_nginx.log combined;
index index.html index.htm index.php;
root /data/wwwroot/www.abc.com/public;
5.然后修改/usr/local/php/etc/php.ini,搜索cgi.fix_pathinfo.把值从0改成1
vim /usr/local/php/etc/php.ini
cgi.fix_pathinfo=1
部署直播程序
1.将代码包⾥⾯的web⽂件夹中的东⻄拷⻉到⽹站根⽬录。
举例说明:
假设您的站点为: www.abc.com
上传web端源码到网站根目录 比如 /data/wwwroot/www.abc.com/
然后unzip解压源码即可
//改变读写权限
chmod -R 775 /data/wwwroot/www.abc.com/
//改变所属者和所属组
chown -R www:www /data/wwwroot/www.abc.com/
2.还需修改⼏个⽂件:
<1>/data/wwwroot/www.abc.com/PhalApi/Config/app.php
//redis连接配置信息
'REDIS_HOST' => "redis地址",
'REDIS_AUTH' => "redis密码",
'REDIS_PORT'=>"6379"
//七⽜信息相关配置
'Qiniu' => array(
//ak
'accessKey' => '七⽜accessKey',
//sk
'secretKey' => '七⽜secretKey',
//存储空间
'space_bucket' => '存储空间名称',
//cdn加速域名 格式:http(s)://xxx.com,结尾不带/
'space_host' => '存储域名',
//区域上传域名(服务端) 参考⽂档:
https://developer.qiniu.com/kodo/manual/1671/region-endpoint
'uphost' => 'https://up.qiniup.com',
//七⽜云存储区域 华东:z0,华北:z1,华南:z2,北美:na0,东南亚:as0,参考⽂
档:https://developer.qiniu.com/kodo/manual/1671/
'region'=>'z0', //默认华东
),
<2>/data/wwwroot/www.abc.com/PhalApi/Config/dbs.php
//数据库连接配置信息
return array(
'servers' => array(
'db_appapi' => array(
'host' => '127.0.0.1', //数据库地址
'name' => '数据库名', //数据库名
'user' => '⽤户名', //⽤户名
'password' => '密码', //密码
'port' => '3306', //数据库端⼝
'charset' => 'utf8mb4', //字符集
),
),
<3>/data/wwwroot/www.abc.com/data/config/database.php
// 数据库连接配置信息
'mysql' => [
// 数据库类型
'type' => env('DATABASE_TYPE', 'mysql'),
// 地址
'hostname' => env('DATABASE_HOSTNAME', '127.0.0.1'),
// 数据库名
'database' => env('DATABASE_DATABASE', '数据库名'),
// ⽤户名
'username' => env('DATABASE_USERNAME', '⽤户名'),
// 密码
'password' => env('DATABASE_PASSWORD', '密码'),
// 端⼝
'hostport' => env('DATABASE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [],
// 数据库编码
'charset' => env('DATABASE_CHARSET', 'utf8mb4'),
// 数据库表前缀
'prefix' => env('DATABASE_PREFIX', 'cmf_'),
],
//Redis连接配置信息
'REDIS_HOST' => "127.0.0.1",
'REDIS_AUTH' => "redis密码",
'REDIS_PORT' => "6379",
服务重启
注释掉这个文件【02-opcache.ini】的内容
/usr/local/php/etc/php.d/02-opcache.ini
这个PHP缓存,开发测试阶段需要关闭否则会影响问题的修改和测试偏差。
清理掉web缓存
/data/wwwroot/www.abc.com/data/runtime/目录下的文件清空
systemctl restart php-fpm
systemctl restart nginx
systemctl restart redis-server
systemctl restart mysqld
六、nodejs部署
1.下载nvm⼀键安装脚本
2.然后查看~/.zshrc⽂件,会看到⼊如下⼏⾏
//查看zshrc文件中是否添加
cat ~/.zshrc
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.
sh | bash
//若没有,则手动添加
vim ~/.zshrc
//添加内容
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
3.重新载⼊配置⽂件
source ~/.zshrc
4.然后安装nodejs
nvm install v16.13.0 (稳定版本)
5.输⼊如下命令,如果返回的是版本号,就说明nodejs安装成功
node -v
6.然后安装cnpm
==注:只有国内服务器,才安装cnpm,执⾏下⾯的命令。国外服务器跳过。==
npm install -g cnpm --registry=https://registry.npm.taobao.org
7.然后安装pm2
//国内服务器选执行如下
cnpm install pm2 -g
//国外服务器执行如下
npm install pm2 -g
8.安装nodejs拓展块
删除 /data/wwwroot/www.abc.com(自己创建的站点)/node/node_modules
cd /data/wwwroot/www.abc.com(自己创建的站点)/node
rm -rf node_modules
//推荐国外服务器使用
npm install
或者
//国内服务器使用命令
cnpm install
9.修改配置⽂件,将node⽬录下的config.js⽂件⾥⾯的信息修改为⾃⼰的
cd /data/wwwroot/www.abc.com(新建的站点)/node
①vim config.js
内容如下:
'REDISHOST' : 'redis地址',
'REDISPASS' : 'redis密码',
'REDISPORT' : '6379',
'TOKEN' : '1234567',
'WEBADDRESS': 'http://www.abc.com(自己的域名)/appapi/'
②vim exposure.js
var site='http://www.abc.com';
10.然后,启动nodejs程序
pm2 start s1.js --watch
pm2 start exposure.js --watch
11.保存pm2启动信息
pm2 save
12.设置开机启动
pm2 startup
七、后台信息配置需要修改的地⽅
1.系统设置--->公共配置--->⽹站信息,修改为你⾃⼰的域名
http://www.abc.com
2.系统设置--->私密设置--->直播配置,填写聊天服务地址,修改为
http://www.abc.com:19967
3.系统设置--->私密设置--->直播配置,填写视频推拉流地址(即视频cdn)
4.七⽜云信息填写
恭喜你,搭建完成