查询系统信息
cat /etc/redhat-release
// 返回
## CentOS Linux release 7.7.1908 (Core)
yum镜像切换为网易
- 下载新源及将本地源备份
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS6-Base-163.repo CentOS-Base.repo
- yum源更新
yum clean all && yum makecache && yum update -y
安装Nginx-1.16.1
- 确认gcc g++开发类库是否装好
# 安装make
yum -y install gcc automake autoconf libtool make
# 安装 g++
yum -y install gcc gcc-c++
- 安装nginx组建
yum -y install openssl openssl-devel
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
- 下载并安装nginx
# 下载nginx
wget http://nginx.org/download/nginx-1.16.1.tar.gz
# 解压并进入解压后的文件夹
tar -zxvf nginx-1.16.1.tar.gz
cd nginx-1.16.1
# 配置
# 注:此处为了在PHP使用Nginx的mod_zip模块实现打包下载的功能,在此步骤前我先去安装了git,再来安装nginx,不然后面还得返回来再安装一遍,如不需要此功能,可以去掉./configure 后面的参数
./configure --with-http_ssl_module --add-module=src/mod_zip
# 安装
make && make install
- 启动/重启/关闭/测试nginx
# 开启
/usr/local/nginx/sbin/nginx
# 重启(修改配置文件需要测试)
/usr/local/nginx/sbin/nginx -s reload
# 关闭
/usr/local/nginx/sbin/nginx -s stop
# 测试(修改配置文件后可以测试下)
/usr/local/nginx/sbin/nginx -t
安装Git-2.24
- 安装依赖包
yum -y install zlib-devel curl-devel openssl-devel perl cpio expat-devel gettext-devel openssl zlib autoconf tk perl-ExtUtils-MakeMaker
- 下载并安装Git
wget https://github.com/git/git/archive/v2.24.0.tar.gz
tar zxvf v2.24.0.tar.gz
cd git-2.24.0
autoconf
./configure
make & make install
- 然后修改 /etc/ld.so.conf 文件,在最后加入一行:
# 打开文件
vi /etc/ld.so.conf
# 在最后一行加入如下
/usr/local/lib
# 保存并退出
wq!
- 测试
git --version
# 浏览器测试,可以打开服务器地址
安装php7.2.19
- 去官网下载压缩包,上传到服务器解压文件,并进入
# 或者直接通过服务器下载源文件安装
wget http://cn2.php.net/distributions/php-7.2.24.tar.gz
# 解压(下面下载文件默认是在usr/local文件夹下)
tar -zxvf php-7.2.24.tar.gz
# 进入
cd php-7.2.24
- 配置安装参数
# 生成configure文件包
autoconf
# 配置(这里如果服务器如果未安装对应的依赖会报错,比如现在未安装Mysql,就应该先去安装mysql再返回来安装php也不迟)
./configure \
--prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-curl \
--with-freetype-dir=/usr/include/freetype2/freetype \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip \
--enable-fileinfo \
--disable-inline-optimization
注:这里出了个问题,报错:unrecognized options: --sockets,检查了解压后的ext包,发现没有sockets ,对比其他服务器安装的同版本,发现解压后有,然后去php官网查看版本,发现最新php7.2.19已经变更了php-7.2.24
- 编译安装
make && make install
- 生成配置文件
# 生成php.ini
cp /root/php-7.2.24/php.ini-development /usr/local/php7/etc/php.ini
# 生成www.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
# 生成php-fpm.conf
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
- 修改php-fpm的端口
vi /usr/local/php7/etc/php-fpm.d/www.conf
# 修改其中的listen 127.0.0.1:9000 端口为9001
# user 和user_group根据情况修改
- 修改nginx配置文件
vi /usr/local/nginx/conf/nginx.conf
# 修改其中某个站点的fastcgi_pass 127.0.0.1:9000 端口为9001
- 开启第二个php-fpm,并重启nginx
/usr/local/php7/sbin/php-fpm
/usr/local/nginx/sbin/nginx -s -reload
安装Mysql
注:centos7 yum源里面的mysql已经将mysql替换成了MariaDB,且默认对应的是mysql5.5,这里安装最新版MariaDB10.4
- 查看yum源中mariadb情况,卸载旧版的源
rpm -qa | grep mariadb
# 结果有如下
- 在yum.repos.d目录创建 MariaDB.repo
cd /etc/yum.repos.d/
touch MariaDB.repo
vim MariaDB.repo
# 加入如下内容
# MariaDB 10.4 CentOS repository list - created 2019-11-19 09:14 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
- 安装MariaDB 10.4
yum install MariaDB-server MariaDB-client
- 设置开机启动及其它
systemctl start mariadb #启动服务
systemctl enable mariadb #设置开机启动
systemctl restart mariadb #重新启动
systemctl stop mariadb.service #停止MariaDB
- MariaDB的相关简单配置
https://blog.csdn.net/uisoul/article/details/85223270
mysql_secure_installation
Enter current password for root (enter for none):<–初次运行直接回车
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
Remove anonymous users? [Y/n] <– 是否删除匿名用户,Y,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,N,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,n,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
mysql -u root -p
vi /etc/my.cnf
# 添加如下内容:
[mysqld]
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake
vi /etc/my.cnf.d/client.cnf
# 在[client]中添加
default-character-set=utf8
vi /etc/my.cnf.d/mysql-clients.cnf
# 在[mysql]中添加
default-character-set=utf8
# 重启
systemctl restart mariadb
# 检测
mysql> show variables like "%character%";show variables like "%collation%";
创建外网可连接的用户
grant all privileges on *.* to tm@'%' identified by 'tianming2015';
flush privileges;
远程测试连接,可连接上(不行的话要检查防火墙)!止
安装redis
- 下载 & 解压
# 下载
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
# 解压
tar -zxvf redis-3.0.0.tar.gz
cd redis-3.0.0
- 安装
# 指定目录
make PREFIX=/usr/local/redis install
- 进入安装目录,并拷贝配置文件到安装目录下
cd /usr/local/redis
mkdir conf
cp /root/redis-3.0.0/redis.conf /usr/local/redis/bin
- 启动redis
# 修改redis.conf配置文件, daemonize yes 以后端模式启动
vim /usr/local/redis/bin/redis.conf
# 修改如下选项
daemonize yes
requirepass 123456 //设置密码
# 执行如下命令启动redis:
cd /usr/local/redis/bin
./redis-server redis.conf
- 连接和关闭测试
# 连接redis
/usr/local/redis/bin/redis-cli
# 关闭redis
cd /usr/local/redis
./bin/redis-cli shutdown
# 强行终止redis
pkill redis-server
- 开机启动设置
vim /etc/rc.local
//添加
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
安装Node.js
- 下载 & 解压
# 下载
wget https://npm.taobao.org/mirrors/node/v9.9.0/node-v9.9.0-linux-x64.tar.xz
# 解压
tar -xvf node-v9.9.0-linux-x64.tar.xz
cd node-v9.9.0-linux-x64/bin && ls
# 结果:有node 和 npm
# 测试
./node -v // 显示版本号,安装成功
# 将node.js移动到/usr/local目录下
mv /root/node-v9.9.0-linux-x64 /usr/local/
- 做个软链,使可以在任何目录下执行 node 和 npm 命令
ln -s /usr/local/node-v9.9.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node-v9.9.0-linux-x64/bin/npm /usr/local/bin/npm
- 安装淘宝镜像
cd /usr/local/node-v9.9.0-linux-x64/bin
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 建立软链
ln -s /usr/local/node-v9.9.0-linux-x64/bin/cnpm /usr/local/bin/cnpm
- 安装pm2,使进程常驻
cnpm install pm2
ln -s /usr/local/node-v9.9.0-linux-x64/bin/pm2 /usr/local/bin/pm2
pm2 start xx.js
安装Supervisor
- 安装
yum install python-setuptools
easy_install supervisor
- 创建全局配置文件
echo_supervisord_conf > /etc/supervisord.conf
supervisord -c /etc/supervisord.conf
- 修改配置文件
vi /etc/supervisord.conf
# 在include下增加如下内容
[include]
files = /usr/local/share/supervisor/*.conf
# 创建log日志文件
vi /usr/local/share/supervisor/redisQueue.log
- 在/usr/local/share文件下,加入你要守护的文件进程,格式如下
[program:casecloud-queue-listen]
command=php /var/www/casecloud/server/artisan queue:work redis --tries=3 --timeout=300
user = root
directory=/var/www/casecloud/server
autostart=true
autorestart=true
startsecs=3
stdout_logfile=/usr/local/share/supervisor/redisQueue.log
说明:command=后面跟着就是你要守护的shell.
- 相关命令
supervisorctl reload # 重启
supervisorctl status # 查看正在运行的
supervisorctl help # 帮助
- 关机后开启
supervisord
安装ftp
- 安装
yum -y install vsftpd
- 修改配置并开启
vi /etc/vsftpd/vsftpd.conf
# 修改
anonymous_enable=NO
# 末尾增加一行(添加用户后,无法上传文件,设置用户权限后,结果登录不了,加如下项解决)
allow_writeable_chroot=YES
- 增加ftp用户
useradd -d /www/../oa/ -s /sbin/nologin cp
# 给目录指定用户
chown cp -R /www/../oa/
- 测试连接
# 注意设置ftp传输模式为主动