1.CentOS 6.2编译安装Nginx1.0.14+MySQL5.5.22+PHP5.3.10步骤分享
2.centos如何安装指定版本的源码nginx?
3.centos8编译安装nginx
4.centos5 源码安装Nginx + mysql + apache + php的方法
5.在CentOS 8上安装Nginx
6.centos8自定义目录安装nginx教程详解
CentOS 6.2编译安装Nginx1.0.14+MySQL5.5.22+PHP5.3.10步骤分享
说明:操作系统:CentOS 6.2 位
准备篇:
一、配置好IP、安装DNS 、源码网关,安装确保使用远程连接工具能够连接服务器
二、源码配置防火墙,安装源码导入eclipse报错开启端口、源码端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT(允许端口通过防火墙)
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT(允许端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的安装最后一行,导致防火墙启动失败,源码正确的安装应该是添加到默认的端口这条规则的下面
添加好之后防火墙规则如下所示:
#########################################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
#########################################################
/etc/init.d/iptables restart #最后重启防火墙使配置生效
三、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,源码关闭
shutdown -r now #重启系统
四 、安装系统约定
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字
五、源码下载软件包
1、安装下载nginx(目前稳定版)
.php.net/distributions/php-5.3..tar.gz
5、源码下载cmake(MySQL编译工具)
f /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加
datadir = /data/mysql #添加MySQL数据库路径
./scripts/mysql_install_db --user=mysql #生成mysql系统数据库
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动
chmod /etc/init.d/mysqld #增加执行权限
chkconfig mysqld on #加入开机启动
vi /etc/rc.d/init.d/mysqld #编辑
basedir = /usr/local/mysql #MySQL程序安装路径
datadir = /data/mysql #MySQl数据库存放目录
service mysqld start #启动
vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行
export PATH=$PATH:/usr/local/mysql/bin
下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
shutdown -r now #需要重启系统,等待系统重新启动之后继续在终端命令行下面操作
mysql_secure_installation #设置Mysql密码
根据提示按Y 回车输入2次密码
或者直接修改密码/usr/local/mysql/bin/mysqladmin -u root -p password "" #修改密码
service mysqld restart #重启
到此,mysql安装完成!
五、安装 nginx
groupadd www #添加www组
useradd -g www www -s /bin/false #创建nginx运行账户www并加入到www组,卡卡支付源码不允许www用户直接登录系统cd /usr/local/src
tar zxvf nginx-1.0..tar.gz
cd nginx-1.0.
./configure --prefix=/usr/local/nginx --user=www --group=www --with-tl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl #配置
make #编译
make install #安装
cp php.ini-production /usr/local/php5/etc/php.ini #复制php配置文件到安装目录
rm -rf /etc/php.ini #删除系统自带配置文件
ln -s /usr/local/php5/etc/php.ini /etc/php.ini #添加软链接
cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件
vi /usr/local/php5/etc/php-fpm.conf #编辑
user = www #设置php-fpm运行账号为www
group = www #设置php-fpm运行组为www
pid = run/php-fpm.pid #取消前面的分号
设置 php-fpm开机启动
cp /usr/local/src/php-5.3./sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录
chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
chkconfig php-fpm on #设置开机启动
vi /usr/local/php5/etc/php.ini #编辑配置文件
找到:;open_basedir =
修改为:open_basedir = .:/tmp/ #防止php木马跨站,重要!!
找到:disable_functions =
修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
找到:;date.timezone =
修改为:date.timezone = PRC #设置时区
找到:expose_php = On
修改为:expose_php = OFF #禁止显示php版本的信息
找到:display_errors = On
修改为:display_errors = OFF #关闭错误提示
七、配置nginx支持php
vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改
user www www; #首行user去掉注释,修改Nginx运行组为www www;必须与/usr/local/php5/etc/php-fpm.conf中的user,group配置相同,否则php运行出错
index index.php index.html index.htm; #添加index.php
# pass the PHP scripts to FastCGI server listening on .0.0.1:
#
location ~ /.php$ {
root html;
fastcgi_pass .0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
/etc/init.d/nginx restart #重启nginx
八、配置php支持Zend Guard
安装Zend Guard
cd /usr/local/src
mkdir /usr/local/zend #建立Zend安装目录
tar xvfz ZendGuardLoader-php-5.3-linux-glibc-i.tar.gz #解压安装文件
cp ZendGuardLoader-php-5.3-linux-glibc-i/php-5.3.x/ZendGuardLoader.so /usr/local/zend/ #拷贝文件到安装目录
vi /usr/local/php5/etc/php.ini #编辑文件
在最后位置添加以下内容
[Zend Guard]
zend_extension=/usr/local/zend/ZendGuardLoader.so
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
测试篇
cd /usr/local/nginx/html/ #进入nginx默认网站根目录
rm -rf /usr/local/nginx/html/* #删除默认测试页
vi index.php #新建index.php文件
?php
phpinfo();
?
:wq! #保存
chown www.www /usr/local/nginx/html/ -R #设置目录所有者
chmod /usr/local/nginx/html/ -R #设置目录权限
shutdown -r now #重启
在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!
service nginx restart #重启nginx
service mysqld restart #重启mysql
/usr/local/php5/sbin/php-fpm #启动php-fpm
/etc/rc.d/init.d/php-fpm restart #重启php-fpm
/etc/rc.d/init.d/php-fpm stop #停止php-fpm
/etc/rc.d/init.d/php-fpm start #启动php-fpm
#############################################################################
备注:
nginx默认站点目录是:/usr/local/nginx/html/
权限设置:chown www.www /usr/local/nginx/html/ -R
MySQL数据库目录是:/data/mysql
权限设置:chown mysql.mysql -R /data/mysql
到此,CentOS 6.2下 Nginx1.0.+MySQL5.5.+PHP5.3.+Zend Guard Loader基本运行环境搭建完成!
centos如何安装指定版本的nginx?
在 CentOS 上安装指定版本的 Nginx,首先访问 Nginx 官方网站获取所需版本的源码。下载完成后,使用命令行编译并安装源码。编译过程通常涉及解压源码,进入解压后的目录并执行 ./configure 命令,以确保与系统兼容性。接着执行 make 命令生成可执行文件,源码视频怎么解码最后使用 make install 命令安装 Nginx。
安装过程中,可能会遇到编译选项问题。确保正确配置编译选项,如指定安装路径、启用或禁用特定功能等。在执行 ./configure 命令时,根据需要添加相应的选项参数。例如,要指定特定的安装目录,可使用 --prefix=/usr/local/nginx 选项;若需安装自定义模块,可以添加 --add-module=/path/to/module 选项。
另一个解决方案是使用 Docker 容器技术。Docker 可以提供一个隔离的环境,简化 Nginx 的安装和配置过程。通过创建或拉取包含所需 Nginx 版本的 Docker 镜像,可以轻松地在 Docker 容器中运行 Nginx。利用 Dockerfile 编写构建脚本,可以进一步定制容器内的环境,如配置文件、自定义模块等。
无论选择编译安装还是手机扫描软件源码使用 Docker,都需要确保系统依赖库满足 Nginx 的要求,如 OpenSSL、zlib、pcre 等。通过包管理器(如 yum 或 apt)安装必要的依赖库,可以简化整个安装流程。安装完成后,可以通过 systemctl 命令启动、停止或管理 Nginx 服务,确保其正常运行。
总之,在 CentOS 上安装指定版本的 Nginx,可以采用编译安装或 Docker 容器技术。通过正确配置编译选项或选择合适的 Docker 镜像,可以轻松实现目标,并确保 Nginx 在 CentOS 系统上的稳定运行。
centos8编译安装nginx
安装前准备
首先,确保您的 CentOS-8 系统已更新软件包。
接下来,安装编译器及相应的开发库。
访问 nginx 官网下载最新的 nginx 版本。
解压下载的红警源码架构分析 nginx 安装包。
对 nginx 源码进行预编译和配置,以便生成可执行的二进制文件。
启动编译和安装过程,完成 nginx 的安装。
centos5 源码安装Nginx + mysql + apache + php的方法
主要依照的是张宴的一篇博文《blogs.com/3] mhash库
复制代码
代码如下:
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install
cd ../
4]mcrypt库
注意:因为该库和libmcrypt有依赖性,所以在安装前必须知道libmcrypt,否则的话会出现:
错误
复制代码
代码如下:
checking for libmcrypt – version = 2.5.0…
*** ‘libmcrypt-config –version’ returned 2.4.0, but LIBMCRYPT (2.5.8)
*** was found! If libmcrypt-config was correct, then it is best
*** to remove the old version of LIBMCRYPT. You may also be able to fix the error
*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing
*** /etc/ld.so.conf. Make sure you have run ldconfig if that is
*** required on your system.
*** If libmcrypt-config was wrong, set the environment variable LIBMCRYPT_CONFIG
*** to point to the correct copy of libmcrypt-config, and remove the file config.cache
*** before re-running configure
configure: error: *** libmcrypt was not found
是因为path的问题,所以执行:
复制代码
代码如下:
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
然后再安装:
复制代码
代码如下:
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
make
make install
cd ../
二、安装mysql
复制代码
代码如下:
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql xxx
unzip mysql-5.1..zip
cd mysql-5.1./
./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables
--with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase
make
make install
make clean
make distclean
chmod +w /usr/local/webserver/mysql
chown -R xxx:mysql /usr/local/webserver/mysql
cp support-files/my-medium.cnf.sh /usr/local/webserver/mysql/my.cnf
cd ../
注意:这里编译./configure命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符
在最后一步拷贝的时候,我安装完在support-files下没有my-medium.cnf而只有my-medium.cnf.sh所以将这个文件拷贝过去。
@张宴原文:
附:以下为附加步骤,如果你想在这台服务器上运行MySQL数据库,则执行以下两步。如果你只是希望让PHP支持MySQL扩展库,能够连接其他服务器上的MySQL数据库,那么,以下两步无需执行。
①、以xxx用户帐号的身份建立数据表:
复制代码
代码如下:
/usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data --user=xxx
②、启动MySQL(最后的表示在后台运行)
复制代码
代码如下:
/bin/sh /usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/usr/local/webserver/mysql/my.cnf
3、编译安装PHP(FastCGI模式)
复制代码
代码如下:
tar zxvf php-5.2.8.tar.gz
gzip -cd php-5.2.8-fpm-0.5..diff.gz | patch -d php-5.2.8 -p1
cd php-5.2.8/
./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql
--with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib
--with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem
--enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect
--enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap
--with-ldap-sasl
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-dist /usr/local/webserver/php/etc/php.ini
cd ../
注意:这里./configure命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符
4、编译安装PHP5扩展模块--可选安装
复制代码
代码如下:
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
make clean
make distclean
cd ../
tar jxvf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3/
/usr/local/webserver/php/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
make clean
make distclean
cd ../
tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-mysql=/usr/local/webserver/mysql
make
make install
make clean
make distclean
cd ../
tar zxvf ImageMagick.tar.gz
cd ImageMagick-6.5.1-2/
./configure
make
make install
make clean
make distclean
cd ../
tar zxvf imagick-2.2.2.tgz
cd imagick-2.2.2/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
make clean
make distclean
cd ../
5、修改php.ini文件
STRONG手工修改:/STRONG查找/usr/local/webserver/php/etc/php.ini中的extension_dir = "./"
修改为extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-/"
并在此行后增加以下几行,然后保存:
extension = "memcache.so"
extension = "pdo_mysql.so"
extension = "imagick.so"
再查找output_buffering = Off
修改为output_buffering = On
6、配置eAccelerator加速PHP:
mkdir -p /usr/local/webserver/eaccelerator_cache
vi /usr/local/webserver/php/etc/php.ini
按shift+g键跳到配置文件的最末尾,加上以下配置信息:
复制代码
代码如下:
[eaccelerator]
zend_extension="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-/eaccelerator.so"
eaccelerator.shm_size=""
eaccelerator.cache_dir="/usr/local/webserver/eaccelerator_cache"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl=""
eaccelerator.shm_prune_period=""
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
修改配置文件:
vi /etc/sysctl.conf
kernel.shmmax =
然后执行以下命令使配置生效:/sbin/sysctl -p
以下的步骤和张宴步骤中一样配置,不再赘诉
在CentOS 8上安装Nginx
在 CentOS 8 上,Nginx 可直接从默认的 CentOS 存储库中安装。执行以下命令即可完成安装:
完成安装后,通过输入命令启用并启动 Nginx 服务:
要验证服务状态,使用此命令检查服务运行情况:
服务运行正常后,通过在 Web 浏览器中输入"f配置文件,启动MySql。
. 源码编译安装php7.4
下载php7.4源码,安装编译工具和库文件,创建用户组和用户,配置编译参数,解压缩并移动到指定目录,检查配置并生成配置文件,安装完成。
. LNMP环境测试
测试Nginx和PHP-FPM的配合,配置Nginx和PHP-FPM,通过phpinfo文件验证php和Nginx的配合情况,测试phpMyAdmin,确保数据库连接无误,至此,LNMP环境测试完成。
centos下安装nginx出错,怎么办?
一、配置阿里源第1步: 下载阿里源的配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.repo
第2步: 更新镜像源
清除yum缓存
yum clean all
生成yum缓存
yum makecache
报错:
已加载插件:langpacks, product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
/centos/7Server/os/x_/repodata/repomd.xml: [Errno ] HTTP Error - Not Found
正在尝试其它镜像。
/centos/7Server/os/x_/repodata/repomd.xml: [Errno ] curl#7 - "Failed connect to mirrors.aliyuncs.com:; 拒绝连接"
报错原因:Centos-Base.repo配置文件中的$releasever变量解析错误,导致整个URL地址错误。这种情况一般发生在Redhat系统安装Centos源(我的系统是Redhat 7), " /centos/ ",发现并无 7Server/目录。因此,应该是$releasever变量解析成了"7Server",进而导致了错误的发生,正确的URL地址为 /centos/7/os/x_/repodata/repomd.xml ,其中的"7"是指系统版本号。
三、解决办法
1.修改yum配置文件
vi /etc/yum.repos.d/CentOS-Base.repo
将全文中所有的 "$releasever" 字符串替换成 "7",因为我的系统是7版本
输入 ":" 进入末行模式
然后输入%s/$releasever/7/g
保存并退出
2.再次更新镜像源
清除yum缓存
yum clean all
生成yum缓存
yum makecache
在修改配置文件后,执行yum makecache命令的时候还是出现了地址无法访问的报错信息,其实这个并不影响。如果不想看到报错信息的话,把aliyuncs部分信息删掉就可以了。
如何在centos8下安装nginx?
为了在 CentOS 8 下安装并配置 Nginx,你需要遵循一系列步骤。首先,安装依赖库,这包括但不限于 SSL、PCRE 和 OpenSSL 库,确保系统具备运行 Nginx 的基础条件。
在安装前,建议切换到 /usr/local 目录下,下载 Nginx 的源代码并解压。然后,移动到解压后的目录(例如,/usr/local/nginx-1..0),并使用特定参数执行编译过程,以确保 Nginx 支持 SSL、gzip、realip、http2 等功能。
在编译参数中,`--with-threads` 用于启用线程池支持,`--with-http_realip_module` 允许从请求头修改客户端 IP 地址,`--with-http_stub_status_module` 则可以查看 Nginx 的状态页面,而 `--with-http_ssl_module` 和 `--with-http_v2_module` 分别启用 SSL 支持和 HTTP2 协议。
一旦编译过程中出现错误,例如与 PCRE 或 OpenSSL 库相关的问题,需要确保这些库已经安装在系统上。对于其他特定错误,可能需要调整 Python 解释器版本以确保与 Nginx 的兼容性。
初次安装 Nginx 时,可以使用编译加安装的指令。如果系统中已经存在 Nginx,可以先进行编译,检查编译后的版本信息,确保其包含 SSL 参数,然后将编译后的文件覆盖原版本,完成更新。
安装或更新 Nginx 后,需要查看其版本信息以验证安装是否成功。可以通过命令 `nginx -V` 直接查看。
为了实现 Nginx 的开机自启动,可以将相应的启动脚本保存到系统中。启动、查看状态和重启 Nginx 的命令是 Nginx 管理中常用的操作,它们可以确保 Nginx 的稳定运行。
为了使 Nginx 环境变量生效,可以将配置添加到 `/etc/profile` 文件中。在文件末尾添加特定的配置行,并通过 `:wq` 保存退出。这样,每次打开终端时,Nginx 的环境变量配置都会自动加载。