更新系统软件(非必须)
yum update
[root@localhost ~]# yum update
rpm -qa gcc 查看是否安装gcc(执行完命令什么都没出现即为没有安装) 否则安装
[root@localhost nginx-1.14.2]# rpm -qa gcc [root@localhost nginx-1.14.2]# yum install gcc gcc-c++
安装其他依赖库
yum install perl perl-devel openssl openssl-devel pcre pcre-devel zlib zlib-devel
[root@localhost ~]# yum install perl perl-devel openssl openssl-devel pcre pcre-devel zlib zlib-devel
进入到 /usr/local/src 目录下
cd /usr/local/src
[root@localhost src]# cd /usr/local/src
进入nginx官网找到stable版本(稳定版)
进入到下载页面 找到stable version 右键->复制链接(如图红框)
下载nginx最新稳定版至 /usr/local/src 目录下
wget http://nginx.org/download/nginx-1.14.2.tar.gz
[root@localhost src]# wget http://nginx.org/download/nginx-1.14.2.tar.gz
用ls命令查看文件发现src目录下有一个nginx-1.14.2.tar.gz 压缩文件
[root@localhost src]# ls
解压nginx-1.14.2.tar.gz
tar -zxvf nginx-1.14.2.tar.gz
[root@localhost src]# tar -zxvf nginx-1.14.2.tar.gz
此时用 ls 命令查看 发现 /usr/local/src 目录下多出了个nginx-1.14.2目录
进入 nginx-1.14.2 目录下
cd nginx-1.14.2
[root@localhost src]# cd nginx-1.14.2
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module
[root@localhost nginx-1.14.2]# ./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module
如果该步出现error或者warring 一般为缺少相应库或者依赖,yum install 相应库或者依赖即可
注:http_ssl_module为https模块,http_v2_module为http2.0模块,需要现启用https才可用http2.0
[root@localhost nginx-1.14.2]# make && make install
进入到安装后的nginx目录下
[root@localhost nginx-1.14.2]# cd /usr/local/nginx
查看80端口是否开放 否则开放80端口
[root@localhost nginx]# firewall-cmd --query-port=80/tcp no
[root@localhost nginx]# firewall-cmd --zone=public --add-port=80/tcp --permanent
启动nginx
[root@localhost nginx]# ./sbin/nginx
如果提示80端口被占用,则杀掉正在使用80端口的进程,再启动nginx
其他常用命令参考
./sbin/nginx -t #查看配置文件是否正确
./sbin/nginx -s reload #重新载入配置文件,即平滑重启
接着在浏览器里输入ip看见欢迎界面即为nginx 配置成功
进入 /usr/local/src 目录下
cd /usr/local/src
到php官网下载php
wget http://am1.php.net/distributions/php-7.2.12.tar.gz
[root@localhost src]# wget http://am1.php.net/distributions/php-7.2.12.tar.gz
下载完成后用ls命令查看 接着解压php-7.2.12.tar.gz
tar -zxvf php-7.2.12.tar.gz
[root@localhost src]# tar -zxvf php-7.2.12.tar.gz
进入到解压后的目录
cd php-7.2.12
[root@localhost src]# cd php-7.2.12
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
[root@localhost php-7.2.12]# yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
编译php指定安装目录为 /usr/local/php
[root@localhost php-7.2.12]# ./configure --prefix=/usr/local/php \
--enable-fpm \ --with-openssl \
--with-curl \
--with-zlib-dir \
--with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd --enable-gd-jis-conv \
--with-zlib \
--enable-bcmath \
--enable-mbstring \
--enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
如果此处出现error或warring,一般为缺少相应依赖,查找对应依赖并使用yum命令安装
make && make install
[root@localhost php-7.2.12]# make && make install
复制一份php.ini-production 到/usr/local/php/lib 目录下 并命名为php.ini
[root@localhost php-7.2.12]# cp php.ini-production /usr/local/php/lib/php.ini
进入到刚刚安装的php目录下的etc目录 cd /usr/local/php/etc
[root@localhost php-7.2.12]# cd /usr/local/php/etc
拷贝php-fpm.conf.default 并重命名为php-fpm.conf
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
进入到/usr/local/php/etc/php-fpm.d 目录下
[root@localhost php]# cd /usr/local/php/etc/php-fpm.d/
拷贝一份 www.conf.defalut 并重命名为 www.conf
[root@localhost php-fpm.d]# cp www.conf.default www.conf
返回到/usr/local/php 目录下并启动php-fpm
[root@localhost php-fpm.d]# cd ../../
[root@localhost php]# ./sbin/php-fpm
nginx+php的配置中 php作为独立进程工作 其核心是nginx把接收到的请求信息转发给9000端口的PHP进程。让PHP进程处理
接下来配置nginx 使其接收到有关php的请求后能把请求转发给php-fpm
进入到nginx目录 cd /usr/local/nginx 编辑nginx.conf配置文件
[root@localhost php]# cd /usr/local/nginx [root@localhost nginx]# vim conf/nginx.conf
找到该部分把相应地方注释去掉
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /var/www; #网站根目录
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#告诉php进程当前的脚本是$doucment_root$fastcgi_script_name
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
保存退出
:wq
检查配置文件是否有错
[root@localhost nginx]# ./sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
发现没有错误(如有错误根据提示修正) 重新载入nginx配置文件(热重启)
[root@localhost nginx]# ./sbin/nginx -s reload
接着我们在/var目录下创建www目录作为网站根目录
并在/var/www目录下创建inf.php文件并写入输出配置信息的函数 phpinfo();
[root@localhost nginx]# mkdir /var/www
[root@localhost nginx]# cd /var/www [root@localhost www]# vim info.php
保存并退出 接着用浏览器访问 localhost/info.php 查看配置文件 检查相应扩展是否已开启
使用如下命令找出系统自带的安装的mysql软件包和依赖
rpm -qa|grep mysql
[root@localhost src]# rpm -qa|grep mysql
如果有依次删除找出的程序
yum remove mysql-XXX-XXX
yum remove mysql-XXX-XXX
找出mysql的配置文件并删除;可能出现如下:
[root@localhost src]# find / -name mysql
/usr/lib64/mysql
/usr/share/mysql
[root@localhost src]# rm -rf /usr/lib64/mysql /usr/share/mysql
删除MariaDB
使用rpm命令查找mariadb文件,并依次将其删除
[root@localhost src]# rpm -qa|grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
mariadb-libs-5.5.56-2.el7.x86_64
[root@localhost src]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
[root@localhost src]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
到mysql官网下载mysql最新yun源
鼠标放在红框处点击右键 复制链接地址
进入 /usr/local/src 目录下
cd /usr/local/src
[root@localhost src]# cd /usr/local/src
下载mysql8.0yum源
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
[root@localhost src]# wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
安装yum repo文件
[root@localhost src]# rpm -ivh mysql80-community-release-el7-1.noarch.rpm
更新yum缓存
[root@localhost src]# yum clean all [root@localhost src]# yum makecache
查看yum仓库中mysql版本
[root@localhost src]# yum repolist all | grep mysql
我们可以看到mysql8.0为启用状态 其他版本为禁用状态
使用yum命令安装mysql服务
[root@localhost src]# yum install mysql-community-server
开启mysql服务
[root@localhost src]# systemctl start mysqld.service
获取mysql的初始登录密码 mysql在安装完成后会创建一个root@localhost的用户,并把初始化密码放到了 /var/log/mysqld.log 中;
[root@localhost src]# cat /var/log/mysqld.log | grep password
qjO/RN5s+z*( 即为我们的初始话密码
启动服务输入刚才查到的初始密码
mysql -u root -p
修改密码(由于参数validate_password_policy的限制,密码必须包含大小写字母数字及字符)
mysql> alter user 'root'@'localhost' identified by '$107Lab';
(此处$107lab为新设置的密码,自行设定密码)
如果只用于测试 不想把密码设置太复杂 可以修改validate_password_policy参数的值,然后设置简单的密码
mysql> set global validate_password_policy=0;
修改密码成功后切记不要创建新用户 先退出mysql 再用修改后的密码重新登录 然后创建新用户
重新登录mysql
创建新用户,并修改加密方式,使用Navicat远程操作mysql
create user '107lab'@'%' identified by 'your password';
107lab为创建的mysql用户名,%代表允许改用户在任何ip下远程连接mysql,your password为密码,自行设置,默认加密方式为 caching_sha2_password
修改加密方式,使navicat能够远程连接
grant all on *.* to 'username'@'host' with grant option;