centos 7 安装LAMP环境

  • centos 7 安装LAMP环境
  • 服务器防火墙配置
  • 安装nginx
  • 一. gcc 安装
  • 二. PCRE pcre-devel 安装
  • 三. zlib 安装
  • 四. OpenSSL 安装
  • 五. nginx 安装
  • 六、启动、停止nginx
  • 七、开机自启动
  • 平滑启动nginx 命令
  • 安装PHP
  • 安装php 所需环境
  • 下载安装并配置
  • 编译安装
  • 修改配置文件php.ini
  • 启动
  • 安装mysql
  • 下载
  • 新建mysql用户
  • 安装
  • 配置mysql
  • 开启mysql服务:
  • 将mysql进程放入系统进程中,命令如下:
  • mysql系统命令
  • 修改密码
  • 设置远程登录权限
  • 设置环境变量
  • 设置开机启动
  • Redis 安装
  • 安装
  • 安装redis php 扩展


centos 7 安装LAMP环境

服务器防火墙配置

firewall-cmd --state  ##查看防火墙状态
systemctl start firewalld       ##启动Firewall
systemctl enable firewalld.service  ##设置开机自启动
systemctl enable firewalld.service  ##设置开机自启动1、firewall-cmd:是Linux提供的操作firewall的一个工具;
--permanent:表示设置为持久;
--add-port:标识添加的端口
--zone:指定某个区域
firewall-cmd --reload :重启生效
firewall-cmd --state                           ##查看防火墙状态,是否是running
firewall-cmd --reload                          ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp               ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent     ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口
iptables -L -n                                 ##查看规则,这个命令是和iptables的相同的
man firewall-cmd                               ##查看帮助

#添加 80 443 21 端口
firewall-cmd --state  ##查看防火墙状态
systemctl start firewalld       ##启动Firewall
systemctl enable firewalld.service  ##设置开机自启动
firewall-cmd --zone=public --add-port=80/tcp --permanent ##添加端口
firewall-cmd --zone= public --query-port=80/tcp ## 查看
firewall-cmd --zone= public --remove-port=80/tcp --permanent ##删除
firewall-cmd --reload   ##重新载入配置,比如添加规则之

# 配置文件目录:
cd /etc/firewalld/
cd /usr/lib/firewalld

安装nginx

一. gcc 安装

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

二. PCRE pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

三. zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel

四. OpenSSL 安装

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

五. nginx 安装

1.直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html

wget https://nginx.org/download/nginx-1.14.0.tar.gz
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
mkdir /data/server/nginx
groupadd nginx
useradd -r -g nginx nginx
./configure --prefix=/data/server/nginx \
--pid-path=/data/server/nginx/run/nginx.pid \
--conf-path=/data/server/nginx/conf/nginx.conf \
--error-log-path=/data/server/nginx/logs/error.log \
--http-log-path=/data/server/nginx/logs/access.log \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-pcre \
--with-openssl=/data/soft/openssl-1.1.0c

Make
Make install

注意:如何with-openssl 报错,请下载安装OpenSSL 包
官网地址:https://www.openssl.org/source/

wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.0c.tar.gz 
cd openssl-1.1.0c

六、启动、停止nginx

cd /data/server/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload

指定配置文件启动:

/data/server/nginx/sbin/nginx -c /data/server/nginx/conf/nginx.conf

查询nginx进程:

ps aux|grep nginx

七、开机自启动

在rc.local增加启动代码:

vi /etc/rc.local

增加一行

/data/server/nginx/sbin
  或者:/data/server/nginx/sbin/nginx -c /data/server/nginx/conf/nginx.conf

设置执行权限:

chmod 755 rc.local

平滑启动nginx 命令

kill -USR2 `cat /var/run/nginx.pid`
kill -QUIT `cat /var/run/nginx.pid.oldbin

安装PHP

安装php 所需环境

yum -y install bzip2-devel libcurl-devel libmcrypt-devel
yum install php-mcrypt 
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel MySQL pcre-devel
yum -y install bison
yum -y install autoconf
yum -y install curl-devel
yum -y install libxslt-devel

下载安装并配置

到http://php.net/downloads.php官网找你需要的版本

mkdir /data/server/php7  #创建php的安装目录
wget http://cn2.php.net/distributions/php-7.2.11.tar.gz # 下载安装包
tar –zxvf php-7.2.11.tar.gz # 解压php安装包
cd php-7.2.11 #切换到安装包目录
#自定义配置
 ./configure --prefix=/data/server/php7 \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-jpeg-dir \
--with-png-dir \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--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-ftp \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--with-pear \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip

编译安装

make
make install

拷贝配置文件:

cp -rf php.ini-production /data/server/php7/etc/php.ini
cd  /data/server/php7/etc
cp -rf php-fpm.conf.default  php-fpm.conf
cd /data/server/php7/etc/php-fpm.d
cp -rf www.conf.default www.conf

修改配置文件php.ini

sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /data/server/php7/etc/php.ini
sed -i 's/;date.timezone =/date.timezone = PRC/g' /data/server/php7/etc/php.ini
sed -i 's/short_open_tag = Off/short_open_tag = On/g' /data/server/php7/etc/php.ini
sed -i 's/; cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /data/server/php7/etc/php.ini
sed -i 's/; cgi.fix_pathinfo=0/cgi.fix_pathinfo=0/g' /data/server/php7/etc/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /data/server/php7/etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /data/server/php7/etc/php.ini
sed -i 's/register_long_arrays = On/;register_long_arrays = On/g' /data/server/php7/etc/php.ini
sed -i 's/magic_quotes_gpc = On/;magic_quotes_gpc = On/g' /data/server/php7/etc/php.ini

修改配置文件www.conf 根据服务器而定:
1、进程数优化

pm = dynamic
pm.max_children = 150
pm.start_servers = 12
pm.min_spare_servers = 10
pm.max_spare_servers = 20

2、最大请求数优化

pm.max_requests = 1024

启动

修改 php7的目录的用户:
cd /data/server/php7
chown -R nginx:nginx *

指定配置文件启动:

/data/server/php7/sbin/php-fpm -c /data/server/php7/etc/php.ini -y /data/server/php7/etc/php-fpm.conf

安装mysql

下载

https://dev.mysql.com/downloads/mysql/ 选择自己合适的版本,我这里安装5.7

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 
groupadd mysql
useradd -r -g mysql mysql
tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
cd mysql-5.7.23-linux-glibc2.12-x86_64
mv  ./* /data/server/mysql

新建mysql用户

修改当前目录拥有者为新建的mysql用户,命令如下:
cd /data/server/
chown -R mysql:mysql mysql

安装

安装mysql,命令如下:

./bin/mysqld --initialize --user=mysql --basedir=/data/server/mysql --datadir=/data/server/mysql/data

安装完成,出现如下信息,将随机生成的登录密码记录下来:+u9Xu=FPt!BZ
Xhte(4gZr;Lx

配置mysql

vim /etc/my.cnf
[mysqld]
datadir=/data/server/mysql/data
socket=/tmp/mysql.sock
basedir=/data/server/mysql
port=3306

开启mysql服务:

./support-files/mysql.server start
./support-files/mysql.server stop

将mysql进程放入系统进程中,命令如下:

cp ./support-files/mysql.server /etc/init.d/mysqld

mysql系统命令

service mysqld start #启动
service mysqld restart #重启
service mysqld stop #停止 
service mysqld  reload #重载
ps aux|grep mysql 查看mysql 进程

修改密码

使用随机密码登录mysql数据库,命令如下:

/data/server/mysql/bin/mysql -u root -p

等待系统提示,输入随机密码,即可登录
进入mysql操作行,为root用户设置新密码(小编设为root):

alter user 'root'@'localhost' identified by 'rootroot';
SET PASSWORD FOR'root'@localhost=PASSWORD('root'); ## 或者使用该名修改

设置远程登录权限

设置允许远程连接数据库,命令如下:

use mysql;

update user set user.Host='%' where user.User='root';

刷新权限,命令如下:

flush privileges;

设置环境变量

编辑/etc/profile文件

vi /etc/profile

在profile文件底部添加如下两行配置,保存后退出

PATH=/data/server/mysql/bin:/data/server/mysql/lib:$PATH

export PATH

设置环境变量立即生效

source /etc/profile

注:加入环境变量后即可使用 mysql -uroot -p

设置开机启动

chkconfig mysqld on #设置开机启动
chkconfig --add mysqld #或者使用这个命令添加
chkconfig --list mysqld
mysqld          0:关    1:关    2:开    3:开    4:开    5:开    6:关 #表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用systemctl 命令控制mysql的启动和停止。

Redis 安装

安装

$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make

后台启动redis服务
编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)

vi redis.conf

切换到 src 目录
启动命令:./redis-server /data/soft/redis-4.0.9/redis.conf

Mkdir /data/server/redis/ #新建一个redis 服务目录 

cp -rf ./src/redis-server /data/server/redis/ 
cp -rf ./src/redis-cli /data/server/redis/
cp -rf ./src/redis-benchmark /data/server/redis/
cp -rf ./redis.conf /data/server/redis/

###启动redis

cd /data/server/redis/ # 切换到服务目录

./redis-server redis.conf #启动redis

安装redis php 扩展

wget https://github.com/edtechd/phpredis/archive/php7.zip
unzip php7.zip
cd phpredis-php7/
/data/server/php7/bin/phpize
./configure --with-php-config=/data/server/php7/bin/php-config
make
make install 

修改 php.ini
添加:`extension=redis.so`