编译搭建lnmp服务环境

一、安装nginx1.16.1

1、下载地址http://nginx.org/en/download.html
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
2、解压

# tar -xzf php-7.2.8.tar.gz

3、进入文件夹

# cd php7.2.8/

4、编译

# ./configure --prefix=/usr/local/php-fpm --enable-fpm --with-zlib  --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64

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:/www/server/php/56/bin
export PATH

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-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;
上一篇:SVN的忽略和只读使用方法学习记录


下一篇:uvm设计分析——factory