【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、可以看到下图表示安装成功:
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 php7.2.17 #进入解压后的文件 **#注意.configure的prefix参数为你要安装的安装目录并且安装目录不能在解压出来的php7.2.17文件里面但是可以同级目录** **#注意你要安装的目录文件必须存在否则安装必将失败** ./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 /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的配置
1.5、这部分教程就到此结束了,那么祝大家学到一点东西,我的博客里面也会经常更新,由于上班原因可能晚点回复各位的问答!
- Linux : 在Centos 7.2上部署Java环境(Java1.8+Tomcat 9.0+Mysql5.7)
- linux CentOS 7.2 服务器配置apache+mysql+php环境 (linux 系统下LAMP部署)
- Linux学习掌握(二):CentOS系统中搭建java开发环境与部署web项目
- 【centos6.5】CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境(linux公社)
- Linux:Linux操作系统Centos7.2版本搭建Apache+PHP+Mysql环境
- LAMP【CentOS 7+MySQL5.7+PHP7.2+Apache2.4】环境搭建与配置
- Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署
- Ubuntu、CentOS Linux系统安装Erlang,部署Eclipse+Erlide开发环境
- linux 环境 centos6.5 下部署 dns 域名系统详细过程
- linux CentOS 系统下如何将php和mysql命令加入到环境变量中
- Linux系统CentOS7.2搭建LAMP环境
- linux CentOS 系统php和mysql命令加入到环境变量中
- Linux\CentOS系统下的服务器搭建,下载编译环境,安装vsFtpd、nginx、MySQL、JDK、Tomcat、PHP
- CentOS Linux release 7.5.1804 (Core) 编译安装 PHP7.2 OR NGINX1.15.4
- 环境搭建之Linux系统安装MySQL(centos7.2)
- Centos7(Linux) 系统下的 各种环境部署 之 MySql
- Linux\CentOS系统下的服务器搭建,下载编译环境,安装vsFtpd、nginx、MySQL、JDK、Tomcat、PHP
- 在centos7.2 linux系统上安装java环境JDK8
- 在centos7.2 linux系统上安装java环境JDK8
- Linux系统(centos) PHP环境搭建步骤