1、首先要创建一个用户(一般不使用root用户权限进行环境部署)
useradd www #创建一个用户名为www的用户 默认组也是www
passwd www #为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略
2、使用root权限给www用户授权并且切换新用户登录
1、给/etc/sudoers文件添加读写权限:
chmod -v u+w /etc/sudoers
2、编辑/etc/sudoers文件:
vim /etc/sudoers #如果没有vim就使用vi
## Allow root to run any commands anywher
root ALL=(ALL) ALL
www ALL=(ALL) ALL #这个是新增的用户
3、按Esc键然后:wq保存退出,这时候要记得将写权限收回:
chmod -v u-w /etc/sudoers
4、这时候使用新用户登录,使用su:
su www #或者重新连接服务器使用www账号登录就可以了
3、首先配置mysql5.7YUM源
1、下载mysql源安装包(可以用我下面的也可以到官网去下载自己想要的YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ )
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
2、安装mysql源 --sudo 为申请root用户权限 然后输出自己的密码便可以在短期之内不需要再输入密码:
sudo yum localinstall mysql57-community-release-el7-8.noarch.rpm
3、检查mysql源是否安装成功:
sudo yum repolist enabled | grep "mysql.*-community.*"
3.1、可以看到下图表示安装成功:
4、安装MySQL
sudo yum install mysql-community-server
1、启动MySQL服务:
sudo systemctl start mysqld
2、查看MySQL的启动状态:
sudo systemctl status mysqld #如果Active: 为active (running) 则表示已经启动其他状态则为失败然后排查失败原因
4、开机启动:
sudo systemctl enable mysqld
sudo systemctl daemon-reload
5、修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。
通过下面的方式找到root默认密码:
grep 'temporary password' /var/log/mysqld.log
6、然后登录mysql进行修改:
注意:mysql5.7默认安装了密码安全检查插件(validate_password)
默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
mysql -uroot -p #然后回车输入数据库密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; #修改新密码
7、添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql
必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
GRANT ALL PRIVILEGES ON *.* TO 'MySQL账号'@'%' IDENTIFIED BY 'MySQL密码' WITH GRANT OPTION;
8、解决MySQL数据查询出现GROUP BY语句出错,提示错误代码1055
找到MySQL安装目录下的my.cnf
在sql_mode 中去掉only_full_group_by , 即:
如果没有sql_mode加上便可
修改完成之后,重启数据库,然后再打开,再次查询就正常了。
sudo find / -name my.cnf #寻找my.cnf文件的命令
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
9、远程连接Mysql时执行语句很慢的解决方案:
找到MySQL安装目录下的my.cnf:
[mysqld]
skip-name-resolve #加入这一条代码即可
10、默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
5、安装php7.2环境
1、创建环境目录:
cd /
mkdir servers #创建一个servers文件夹
cd servers #进入
1、下载安装php需要的扩展:
sudo yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel #一键安装四个依赖
sudo yum install -y tar
sudo yum -y install bzip2
sudo yum install libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel -y
2、开始安装:
wget https://www.php.net/distributions/php-7.2.17.tar.gz #下载安装包
tar -zxvf php-7.2.17.tar.gz #解压下载的安装包
cd php-7.2.17 #进入解压后的文件
**#注意.configure的prefix参数为你要安装的安装目录并且安装目录不能在解压出来的php7.2.17文件里面但是可以同级目录**
**#注意你要安装的目录文件必须存在否则安装必将失败**
sudo ./configure --prefix=/usr/local/php720 --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
3、编译安装:
sudo make && make install
4、调整php配置:
cd /usr/local/php720/etc #注意目录不要写错,是你安装后的目录不是解压的目录
cp php-fpm.conf.default php-fpm.conf #复制出一份php-fpm.conf文件
cd /usr/local/php720/etc/php-fpm.d #注意目录不要写错,是你安装后的目录不是解压的目录
cp www.conf.default www.conf #复制出一份www.conf文件
cd /usr/local/php720/etc/php-fpm.d
cp /servers/php7.2.17/php.ini-development /usr/local/php720/sbin/php.ini #从解压目录(**注意是解压目录**)复制一份开发环境到安装目录的sbin文件
sudo vi www.conf
user = nobody
group = nobody
修改为:
user = 当前操作的账号
group = 当前操作的账号所在组
sudo vi /usr/local/php720/etc/php-fpm.conf #修改配置
#将pid那一行注释去掉如下图所示:
5、然后启动php-fpm:
#注意目录不要写错,是你安装后的目录不是解压的目录
/usr/local/php720/sbin/php-fpm
6、设置php7.2环境变量:
sudo vi /etc/profile
#这两行代码要加在文件末尾路径不要写错,写你php安装目录
PATH=$PATH:/usr/local/php/bin
export PATH
#然后便可以按Esc键输入:wq保存退出然后再执行下面命令刷新配置
sudo source /etc/profile
php -v #便可以看到php版本号了
7、设置软链接防止php执行exec失败:
sudo ln -s /usr/local/php/bin/php /usr/bin/php #注意第一个参数的路径写自己的,其他不变
cd /usr/bin
ls -la #查看所有所属
#有下图这个php则表示正常
8、此时还需要配置php系统服务:
cd /usr/lib/systemd/system
sudo vi php-fpm.service
8.1、写入以下配置(注意路径要改成自己的另外注释千万记住要删除.这里面不识别)):
#注意路径要改成自己的(注释千万记住要删除.这里面不识别)
[Unit]
Description=The php-fpm server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/www/server/php/var/run/php-fpm.pid #添加你的pid文件所在目录 (注释千万记住要删除.这里面不识别)
ExecStartPre=/usr/bin/rm -f /www/server/php/var/run/php-fpm.pid #这个-f后面的路径改成自己的目录(注释千万记住要删除.这里面不识别)
ExecStart=/www/server/php/sbin/php-fpm #这个改成自己的目录(注释千万记住要删除.这里面不识别)
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=process
KillSignal=SIGQUIT
TimeoutStopSec=5
PrivateTmp=true
[Install]
WantedBy=multi-user.target
8.2、启动php-fpm服务(注意:如果启动不了,则表示上一步的配置路径出现错误,去仔细排查):
sudo pkill php-fpm #杀掉进程
sudo systemctl daemon-reload #重新加载配置
sudo systemctl enable php-fpm.service #设置开机启动服务
sudo systemctl start php-fpm #启动php-fpm服务
sudo systemctl stop php-fpm #停止php-fpm服务
sudo systemctl restart php-fpm #重启php-fpm服务
sudo systemctl reload php-fpm #加载php-fpm配置
6、安装nginx1.15.8环境
1、下载nginx的tar包:
mkdir nginx
cd nginx
wget http://nginx.org/download/nginx-1.15.8.tar.gz
tar -xvf nginx-1.15.8.tar.gz
2、安装nginx:
cd /usr/local/nginx/nginx-1.15.8 #进入nginx的解压目录
./configure --prefix=/usr/local/tools/nginx #prefix=指定你要安装的目录,目录必须存在,否则会出现问题
make && make install #编译并且执行安装
3、配置nginx文件:
sudo vim /usr/local/nginx/conf/nginx.conf #写自己的安装目录
如下图所示:去掉箭头指向的注释以及换成自己想要的目录user指定用户就行了,必须是存在的操作用户!
4、配置nginx.conf支持php(注意加上index.php,并且加上下面示例代码无需作修改,必须在server节点里面):
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
4.1、写入一个index.php文件:
cd /usr/local/nginx/html
sudo vi index.php
#如下图所示:
5、启动nginx:
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #目录均为安装目录,填写自己的便好
sudo systemctl restart php-fpm #重启php-fpm服务
6、验证,若无法打开关闭防火墙看看是否是防火墙问题,若正常打开则表示成功:
6.1、防火墙方案1:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent #开启80
sudo systemctl restart firewalld #重启防火墙
6.2、防火墙方案2:
sudo systemctl stop firewalld #或者直接关闭防火墙
7、配置nginx系统服务:
sudo ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx #注意第一个参数的路径写自己的,其他不变
cd /usr/lib/systemd/system
sudo vi nginx.service
7.1、写入以下配置(注意路径要改成自己的另外注释千万记住要删除.这里面不识别)):
#注意路径要改成自己的(注释千万记住要删除.这里面不识别)
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/nginx.pid #添加你的pid文件所在目录 (注释千万记住要删除.这里面不识别)
ExecStartPre=/usr/bin/rm -f /usr/local/nginx/nginx.pid #这个-f后面的路径改成自己的目录(注释千万记住要删除.这里面不识别)
ExecStartPre=/usr/bin/nginx -t
ExecStart=/usr/bin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=process
KillSignal=SIGQUIT
TimeoutStopSec=5
PrivateTmp=true
[Install]
WantedBy=multi-user.target
7.2、启动nginx服务(注意:如果启动不了,则表示上一步的配置路径出现错误,去仔细排查):
sudo pkill nginx #杀掉进程
sudo systemctl daemon-reload #重新加载配置
sudo systemctl enable nginx.service #设置开机启动服务
sudo systemctl start nginx #启动nginx服务
sudo systemctl stop nginx #停止nginx服务
sudo systemctl restart nginx #重启nginx服务
sudo systemctl reload nginx #加载nginx配置
7、安装redis5.0.4环境
1、下载redis:
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
tar xzf redis-5.0.4.tar.gz
cd redis-5.0.4
make
2、启动redis-server服务:
#vim 命令后的目录是你安装后的目录
vim /usr/local/redis/etc/redis.conf
daemonize=yes #修改daemonize 改为 yes (允许后台启动)
/www/server/redis-5.0.4/src/redis-server /www/server/redis-5.0.4/redis.conf #注意换成自己的安装目录
3、开机自动启动redis-server服务:
cd /etc/rc.d/
sudo chmod 777 rc.local
echo "/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf" >> /etc/rc.d/rc.local #注意>>前面的都换成自己的安装目录后面的不要动
sudo chmod 644 rc.local #用完之后记得恢复到原来的权限
4、配置redis系统启动服务:
cd /lib/systemd/system/
sudo vi redis.service
4.1、写入以下配置(注意:注释要删掉):
[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/redis.pid #注意:需要和redis.conf配置文件中的信息一致
ExecStart=/www/server/redis-5.0.4/src/redis-server /www/server/redis-5.0.4/redis.conf #注意目录换成自己的
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
4.2、刷新配置以及命令集合:
sudo pkill redis #杀掉进程
sudo systemctl daemon-reload #刷新系统配置
sudo systemctl enable redis.service #设置开机启动
sudo systemctl start redis #启动redis
sudo systemctl stop redis #关闭redis
sudo systemctl restart redis #重启redis
sudo systemctl status redis #查看redis状态
sudo systemctl reload redis #刷新redis的配置
8、安装mongodb4.0.9环境
1、下载mongodb:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-4.0.9.tgz
tar zxvf mongodb-linux-x86_64-amazon-4.0.9.tgz
sudo mv mongodb-linux-x86_64-amazon-4.0.9 /www/server/mongodb
cd /www/server/mongodb/
sudo mkdir data
cd data
sudo mkdir db
sudo mkdir log
sudo vi /www/server/mongodb/bin/mongodb.conf
1.1、配置以下信息
# 数据库文件路径
dbpath=/www/server/mongodb/data/db/
# 日志文件路径
logpath=/www/server/mongodb/data/log/mongodb.log
# 是否追加日志
logappend=true
# 端口
port=27017
# 是否后台程序启动
fork=true
# 是否启动授权认证
auth=false
1.2、配置系统启动服务
sudo vi /lib/systemd/system/mongodb.service
1.3、写入以下配置(注意:注释要删掉):
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/www/server/mongodb/bin/mongod --config /www/server/mongodb/bin/mongodb.conf #注意换成自己的目录
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/www/server/mongodb/bin/mongod --shutdown --config /www/server/mongodb/bin/mongodb.conf #注意换成自己的目录
PrivateTmp=true
[Install]
WantedBy=multi-user.target
1.4、刷新配置以及命令集合:
sudo systemctl daemon-reload #刷新系统配置
sudo systemctl enable mongodb.service #设置开机启动
sudo systemctl start mongodb #启动mongodb
sudo systemctl stop mongodb #关闭mongodb
sudo systemctl restart mongodb #重启mongodb
sudo systemctl status mongodb #查看mongodb状态
sudo systemctl reload mongodb #刷新mongodb的配置