编译搭建lnmpr服务环境

一、安装nginx1.16.1

1、下载地址http://nginx.org/en/download.html

# wget http://nginx.org//download/nginx-1.16.1.tar.gz

2、安装依赖

	# yum -y install openssl-devel
	# yum -y install zlib-devel
	# yum -y install pcre-devel
	# yum -y install gcc

3、添加nginx用户和组,运行服务

	 # groupadd -r nginx
	 # useradd -r -g nginx -s /bin/false -M nginx       
	 # id nginx

4、解压

# tar xf nginx-1.16.1.tar.gz

5、编译

# ./configure  --prefix=/usr  --sbin-path=/usr/sbin/nginx  --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log   --http-log-path=/var/log/nginx/access.log  --pid-path=/var/run/nginx/nginx.pid  --lock-path=/var/lock/nginx.lock  --user=nginx  --group=nginx  --with-http_ssl_module  --with-http_flv_module  --with-http_stub_status_module  --with-http_gzip_static_module  --http-client-body-temp-path=/var/tmp/nginx/client/  --http-proxy-temp-path=/var/tmp/nginx/proxy/  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi  --http-scgi-temp-path=/var/tmp/nginx/scgi  --with-pcre

6、安装

# make  && make install

编译参数说明

 --prefix=<path> - Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。   
    
 --conf-path=<path> - 在没有给定-c选项下默认的nginx.conf的路径。如果没有指定,默认为<prefix>/conf/nginx.conf。   
    
 --pid-path=<path> - 在nginx.conf中没有指定pid指令的情况下,默认的nginx.pid的路径。如果没有指定,默认为 <prefix>/logs/nginx.pid。   
    
 --lock-path=<path> - nginx.lock文件的路径。   
    
 --error-log-path=<path> - 在nginx.conf中没有指定error_log指令的情况下,默认的错误日志的路径。如果没有指定,默认为 <prefix>/logs/error.log。   
    
 --http-log-path=<path> - 在nginx.conf中没有指定access_log指令的情况下,默认的访问日志的路径。如果没有指定,默认为 <prefix>/logs/access.log。   
    
 --user=<user> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的用户。如果没有指定,默认为 nobody。   
    
 --group=<group> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的组。如果没有指定,默认为 nobody。   
    
 --with-http_ssl_module -开启HTTP SSL模块,使NGINX可以支持HTTPS请求。需要安装了OPENSSL   
    
 --with-http_flv_module   
    
 --with-http_stub_status_module - 启用 "server status" 页(可有可无)   
    
 --without-http_gzip_module - 禁用 ngx_http_gzip_module. 如果启用,需要 zlib 。   
    
 --without-http_ssi_module - 禁用 ngx_http_ssi_module   
    
 --without-http_referer_module - 禁用 ngx_http_referer_module   
    
 --without-http_rewrite_module - 禁用 ngx_http_rewrite_module. 如果启用需要 PCRE 。   
    
 --without-http_proxy_module - 禁用 ngx_http_proxy_module   
    
 --without-http_fastcgi_module - 禁用 ngx_http_fastcgi_module   
    
 --without-http_memcached_module - 禁用 ngx_http_memcached_module   
    
 --without-http_browser_module - 禁用 ngx_http_browser_module   
    
 --http-proxy-temp-path=PATH - Set path to the http proxy temporary files   
    
 --http-fastcgi-temp-path=PATH - Set path to the http fastcgi temporary files   
    
 --without-http - 禁用 HTTP server(用作代理或反向代理)   
    
 --with-mail - 启用 IMAP4/POP3/SMTP 代理模块   
    
 --with-mail_ssl_module - 启用 ngx_mail_ssl_module   
    
 --with-openssl=DIR - Set path to OpenSSL library sources  

7、添加到服务列表

# chkconfig --add nginx
# chkconfig nginx on

8、启动nginx

# /usr/sbin/nginx
#出现错误
nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)
#执行下面命令创建/var/tmp/nginx 目录,后再执行/usr/sbin/nginx
#  mkdir -p /var/tmp/nginx

9、查看nginx是否启动

# netstat -tnlp  | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4069/nginx: master
二、安装php

1、下载:http://cn2.php.net/distributions/php-7.2.27.tar

# wget http://cn2.php.net/distributions/php-7.2.27.tar

2、解压

# tar -xzf php-7.2.8.tar.gz

3、进入文件夹

# cd php7.2.8/

依赖

# yum install -y libxml2-devel
# yum install -y bzip2 bzip2-devel
# yum -y install curl-devel
# yum install -y libjpeg libjpeg-devel
# yum install -y libpng-devel
# yum install -y freetype-devel
# yum install -y gmp-devel
# yum install -y libxslt-devel*

4、编译

# ./configure --prefix=/usr/local/php-fpm --enable-fpm --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-shmop --enable-sockets  --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --enable-zip --with-gettext --with-zlib  --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64 --with-bz2 --with-curl --with-gmp --with-openssl --with-xsl 

5、安装

# make && make install

6、添加用户及用户组

# groupadd -r www
# useradd -r -g www www

7、先对它进行一些配置,到php-fpm的安装目录etc下复制一份配置文件

# cd /usr/local/php-fpm/etc/
# cp php-fpm.conf.default php-fpm.conf
# vi php-fpm.conf
#  ;pid = run/php-fpm.pid (去掉前面的分号)
# cd php-fpm.d/
#  cp www.conf.default www.conf
# vi www.conf
修改用户及用户组
将user=nobody的注释去掉,并将nobody改成上面配置的www用户

将group=nobody的注释去掉,并将nobody改成上面配置的www用户组

8、配置环境变量

# vi /etc/profile
PATH=$PATH:/usr/local/php-fpm/bin
export PATH

#执行命令使配置文件生效
# source /etc/profile

9、启动php

# /usr/local/php-fpm/sbin/php-fpm

10、结束php-fpm

# killall php-fpm

11、 service php-fpm start启动命令不生效

# service php-fpm start
Redirecting to /bin/systemctl start php-fpm.service
Failed to start php-fpm.service: Unit not found.

12、解决方案

   1)find / -name 'init.d.php-fpm'

     /opt/php-7.2.27/sapi/fpm/init.d.php-fpm

   2)cp /opt/php-7.2.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

   3)chmod a+x /etc/init.d/php-fpm    //修改为可执行权限

   4)service php-fpm start

13、复制php.ini

# cp /opt/php-7.2.27/php.ini-development /usr/local/php-fpm/lib/php.ini

14、php-fpm命令

开启
# service php-fpm start
重启
# service php-fpm restart
关闭
# service php-fpm stop
三、安装mysql

1、下载:http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.48.tar.gz
2、解压

# tar -zxvf mysql-5.6.48.tar.gz
# cd  mysql-5.6.48/

3、编译

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data
-bash: cmake: command not found

安装
# yum install cmake
Configuring incomplete, errors occurred!
See also "/opt/mysql-5.6.48/CMakeFiles/CMakeOutput.log".
See also "/opt/mysql-5.6.48/CMakeFiles/CMakeError.log".

删除安装目录中产生的CMakeCache.txt文件,然后重新运行cmake

# rm -r CMakeCache.txt

4、安装mysql

# make && make install
# cd /usr/local/mysql/

5、创建mysql用户和mysql用户组 并且让mysql用户属于mysql用户组

# groupadd mysql
# useradd -r -g mysql mysql

6、删除默认配置

# rm -f /etc/my.cnf

7、下面将所有目录都改成root 和root组 只有data目录不是不是

# chown -R root:root .
# chown -R mysql:mysql data

8、修改配置文件

# cp support-files/my-default.cnf /etc/my.cnf

9、以完整路径的方式启动MySQL,不动了,可以回车

# /usr/local/mysql/bin/mysqld_safe --user=mysql &

10、将MySQL程序复制到启动目录

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

11、增加配置即可

# chkconfig --add mysqld

12、可以使用管理服务的命令管理MySQL

# service mysqld stop  #关闭mysql
# service mysqld start #启动mysql

13、添加环境变量

# vim /etc/profile
#修改,添加mysql
PATH=$PATH:/usr/local/php-fpm/bin:/usr/local/mysql/bin
export PATH

14、配置mysql用户

# mysql -uroot -p  #没有密码直接回车
#选中用户库
mysql> use mysql
#查询用户
mysql> select user,password,host from mysql.user;
+------+----------+-------------------------+
| user | password | host                    |
+------+----------+-------------------------+
| root |          | localhost               |
| root |          | iz2zej5o9159qyh4bv0jldz |
| root |          | 127.0.0.1               |
| root |          | ::1                     |
|      |          | localhost               |
|      |          | iz2zej5o9159qyh4bv0jldz |
+------+----------+-------------------------+
6 rows in set (0.00 sec)
#删除没有的用户
delete from mysql.user where host <> 'localhost';
delete from mysql.user where user <> 'root';

#设置密码
mysql> update mysql.user set password=password('root') where user='root';
#设置远程连接
mysql> update mysql.user set host = '%' where user = 'root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
 # 刷新权限让密码生效
mysql> flush privileges;
四、安装php redis扩展

1、下载

# wget https://github.com/nicolasff/phpredis/archive/3.1.6.tar.gz

2、解压

# tar zxvf 3.1.6.tar.gz
# cd phpredis-3.1.6/

3、配置文件

# /usr/local/php-fpm/bin/phpize 
# 如出现下面错误
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script

# yum install -y autoconf


# ./configure --with-php-config=/usr/local/php-fpm/bin/php-config

4、编译

# make
# make install
Installing shared extensions:     /usr/local/php-fpm/lib/php/extensions/no-debug-non-zts-20170718/

5、修改php.ini

# vi /usr/local/php-fpm/lib/php.ini 
#最后添加扩展
extension="redis.so"

6、重启php-fpm

# service php-fpm restart
五、安装reids

1、下载

# wget http://download.redis.io/releases/redis-3.2.12.tar.gz

2、解压

# tar -zvxf redis-3.2.12.tar.gz 

3、将解压后文件夹移动到/usr/local/redis

# mv /opt/redis-3.2.12 /usr/local/redis
# cd /usr/local/redis/
# make #直接安装
# cd ./src   //进入到 /usr/local/redis/src 文件目录下
# make install    //进行redis安装

4、方便管理创建bin和etc文件夹

(1)创建bin和etc文件夹

#回到redis目录
# cd /usr/local/redis
# mkdir bin      //创建bin文件夹
# mkdir etc   //创建etc文件夹

(2) 将redis目录下的 redis.conf 移动到 redis-5.0.0目录下的etc文件夹下
将mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-cli、redis-server 移动到 /usr/local/redis/bin/ 目录下

#将redis-5.0.0目录下的 redis.conf 移动到 redis-5.0.0目录下的src文件夹下
# mv redis.conf etc/
# cd ./src/      //进入redis目录下的src文件夹下
#将mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-cli、redis-server 移动到   /usr/local/redis/bin/ 目录下
# mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server /usr/local/redis/bin/

5、修改reids.conf

编辑 redis.conf配置文件,修改Redis默认密码 (默认密码为空)
1)把文件中的daemonize属性改为yes(表明需要在后台运行)
2)修改Redis默认密码 (默认密码为空),在配置文件中找到这一行 # requirepass foobared
删除前面的注释符号#,并把foobared修改成自己的密码  或者  另起一行 requirepass 自己的密码

开启远程访问
1)把 redis.conf配置文件中的 bind 127.0.0.1 这一行给注释掉,这里的bind指的是只有指定的网段才能远程访问这个redis,注释掉后,就没有这个限制了
2)把 redis.conf配置文件中的 protected-mode 设置成no(默认是设置成yes的, 防止了远程访问)

6、启动redis

# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
六、安装php-bcmath扩展

1、进入PHP源码包目录下的ext/bcmath目录
2、执行phpize命令

# /usr/local/php-fpm/bin/phpize 
Configuring for:
PHP Api Version:         20170718
Zend Module Api No:      20170718
Zend Extension Api No:   320170718

3、预编译

# ./configure --with-php-config=/usr/local/php-fpm/bin/php-config

4、编译安装

# make && make install
Installing shared extensions:     /usr/local/php-fpm/lib/php/extensions/no-debug-non-zts-20170718/

5、在php.ini中添加该扩展(我的php.ini在/usr/local/php-fpm/lib目录下)

extension=bcmath.so

6、重启php

# service php-fpm reload
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值