【CentOS】 Linux 7.4.1708 (Core)系统部署php7.2+mysql5.7+nginx1.15.8+redis5.0.4+mongodb4.0.9环境

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、可以看到下图表示安装成功:
mysql源安装成功截图

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那一行注释去掉如下图所示:

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指定用户就行了,必须是存在的操作用户!
nginx配置

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
#如下图所示:

写入phpinfo文件

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的配置

9、遇到困难可以评论(有信必回)小轩微信17382121839。

发布了47 篇原创文章 · 获赞 57 · 访问量 8869

猜你喜欢

转载自blog.csdn.net/qq_41741884/article/details/89475355
今日推荐