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`