微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编译搭建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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐