一、准备
正式开始前,编译环境gcc、g 等开发库需要提前安装。
nginx依赖以下模块:
gzip模块需要 zlib 库
rewrite模块需要 pcre 库
ssl 功能需要openssl库
源码目录为:/usr/local/src
1、安装make
yum -y install gcc automake autoconf libtool make
2、安装g
yum install gcc gcc-c
3、安装pcre库
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz
tar -zxvf pcre-8.42.tar.gz
cd pcre-8.42/
./configure
make && make install
出现如下报错:
make[2]: *** [install-libltlibraries] error 1
make[2]: leaving directory `/usr/local/src/pcre-8.42'
make[1]: *** [install-am] error 2
make[1]: leaving directory `/usr/local/src/pcre-8.42'
make: *** [install] error 2
权限不够,切换到root,重新make install即可。
4、安装zlib库
cd /usr/local/src
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure
make && make install
5、安装openssl库
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.1.0h.tar.gz
tar -zxvf openssl-fips-2.0.16.tar.gz
cd openssl-fips-2.0.16/
./config
make && make install
编译安装 openssl 1.1.1 支持国密标准
https://blog.51cto.com/1012682/2380553
6、创建用户及用户组
一般为了服务器安全,会指定一个普通用户权限的账号做为nginx的运行角色,这里使用www用户做为nginx工作进程的用户。后续安装的php也以www用户作为工作进程用户。
groupadd -r www
useradd -r -g www www
二、nginx
1、下载
cd /usr/local/src
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar –zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
2、配置
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/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=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_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
make && make install
nginx编译选项说明:
--prefix表示nginx要安装到哪个路径下,这里指定刚才新建好的/alidata/server目录下的nginx-1.12.2;
--sbin-path表示nginx的可执行文件存放路径
--conf-path表示nginx的主配置文件存放路径,nginx允许使用不同的配置文件启动,通过命令行中的-c选项
--pid-path表示nginx.pid文件的存放路径,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 pid指令。默认情况下,文件名 为prefix/logs/nginx.pid
--error-log-path表示nginx的主错误、警告、和诊断文件存放路径
--http-log-path表示nginx的主请求的http服务器的日志文件的存放路径
--user表示nginx工作进程的用户
--group表示nginx工作进程的用户组
--with-select_module或--without-select_module表示启用或禁用构建一个模块来允许服务器使用select()方法
--with-poll_module或--without-poll_module表示启用或禁用构建一个模块来允许服务器使用poll()方法
--with-http_ssl_module表示使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的openssl库是必需的
--with-pcre表示pcre的源码路径,因为解压后的pcre是放在root目录下的,所以是/root/pcre-8.41;
--with-zlib表示zlib的源码路径,这里因为解压后的zlib是放在root目录下的,所以是/root/zlib-1.2.11
--with-openssl表示openssl库的源码路径
配置ok:
configuration summary
using pcre library: /usr/local/src/pcre-8.42
using openssl library: /usr/local/src/openssl-1.1.0h
using zlib library: /usr/local/src/zlib-1.2.11
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx"
nginx configuration file: "/usr/local/nginx/nginx.conf"
nginx pid file: "/usr/local/nginx/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "/var/tmp/nginx/client/"
nginx http proxy temporary files: "/var/tmp/nginx/proxy/"
nginx http fastcgi temporary files: "/var/tmp/nginx/fcgi/"
nginx http uwsgi temporary files: "/var/tmp/nginx/uwsgi"
nginx http scgi temporary files: "/var/tmp/nginx/scgi"
3、安装
make && make install
4、启动
/usr/local/nginx/sbin/nginx
启动时报错:
nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: no such file or directory)
手动创建该目录即可:mkdir -p /var/tmp/nginx/client
再次启动,打开浏览器访问此机器的ip,浏览器出现welcome to nginx! 则表示 nginx 已经安装并运行成功。
5、设置软连接
ln -sf /usr/local/nginx/sbin/nginx /usr/sbin
这样就可以直接执行nginx来启动了。
6、检测nginx
nginx -t
显示:
nginx: the configuration file /usr/local/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/nginx.conf test is successful
三、php
1、安装php需要的常用库
yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel
2、下载
cd /usr/local/src
wget http://cn2.php.net/downloads.php/php-7.2.5.tar.gz
tar -zxvf php-7.2.5.tar.gz
3、配置
./configure --prefix=/usr/local/php \
--with-mysql=mysqlnd \
--enable-mysqlnd \
--with-gd \
--enable-gd-jis-conv \
--enable-fpm
4、安装
make && make install
安装信息如下:
installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
installing php cli binary: /usr/local/php/bin/
installing php cli man page: /usr/local/php/php/man/man1/
installing php fpm binary: /usr/local/php/sbin/
installing php fpm defconfig: /usr/local/php/etc/
installing php fpm man page: /usr/local/php/php/man/man8/
installing php fpm status page: /usr/local/php/php/php/fpm/
installing phpdbg binary: /usr/local/php/bin/
installing phpdbg man page: /usr/local/php/php/man/man1/
installing php cgi binary: /usr/local/php/bin/
installing php cgi man page: /usr/local/php/php/man/man1/
installing build environment: /usr/local/php/lib/php/build/
installing header files: /usr/local/php/include/php/
installing helper programs: /usr/local/php/bin/
program: phpize
program: php-config
installing man pages: /usr/local/php/php/man/man1/
page: phpize.1
page: php-config.1
installing pear environment: /usr/local/php/lib/php/
[pear] archive_tar: upgrade to a newer version (1.4.3 is not newer than 1.4.3)
[pear] console_getopt: upgrade to a newer version (1.4.1 is not newer than 1.4.1)
[pear] structures_graph: upgrade to a newer version (1.1.1 is not newer than 1.1.1)
[pear] xml_util: upgrade to a newer version (1.4.2 is not newer than 1.4.2)
[pear] pear: upgrade to a newer version (1.10.5 is not newer than 1.10.5)
/usr/local/src/php-7.2.5/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
installing pdo headers: /usr/local/php/include/php/ext/pdo/
5、添加环境变量
vim /etc/profile
在末尾加入
export php_home=/usr/local/php
export path=/bin:/usr/bin:/usr/sbin:/sbin:$path:php_home/bin:$php_home/sbin
保存修改后,使用source命令重新加载配置文件:
source /etc/profile
查看环境变量:
echo $path
6、配置php-fpm
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d/
cp www.conf.default www.conf
使用vim命令对php-fpm.conf的内容进行如下修改:
pid = /usr/local/php/var/run/php-fpm.pid
使用vim命令对php-fpm.conf的内容进行如下修改:
user = www
group = www
其他配置可根据需求进行修改,比如pm.max_children(php-fpm 能启动的子进程的最大数量)、pm.start_servers(php启动时,开启的子进程的数量)、pm.min_spare_servers(动态方式空闲状态下的最小php-fpm进程数量)、pm.max_spare_servers(动态方式空闲状态下的最大php-fpm进程数量)等。
7、启动php-fpm
/usr/local/php/sbin/php-fpm
可以通过ps aux | grep php查看php进程。
https://www.cnblogs.com/sunshineliulu/p/8991957.html
三、mysql
https://blog.csdn.net/weixin_33859844/article/details/90948191
https://www.cnblogs.com/yangchunlong/p/8477743.html
posted on 2019-08-13 17:37
alpha 阅读(262)
评论(0) 编辑 收藏 所属分类:
linux nginx