PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل در نصب nginx در centos از سورس فایل دانلود شده



erfanx
June 3rd, 2017, 08:36
سلام به وب هاستینگی های عزیز .
وقتی nginx.tar رو از حالت فشرده خارج می کنم چطوری باید از ترمینال نصبش کنم روی cntos7 هر دستوری می زنم نمیشه لطفا دستورش رو بهم بگید ممنون:111:

RealHAM
June 3rd, 2017, 10:00
سلام
راهنمای نصب : https://www.nginx.com/resources/wiki/start/topics/tutorials/install
لطفاً مطالعه بفرمایید

erfanx
June 3rd, 2017, 10:51
سلام
راهنمای نصب : https://www.nginx.com/resources/wiki/start/topics/tutorials/install
لطفاً مطالعه بفرمایید

خسته نباشید یه لینک جامع دادی همش یه لینک میزارین در میرید که انواع دستور ها داخلشه ممنون میشم اگه خودت بگی چیکار کنم فارسی بگو من الان فایل nginx که untar کردم رو دارم فقط دستور نصبش رو می خوام نه کانفیگو اینا دو سه خطه همش فارسی بگو اونو مطالعه کردم چیزی سر در نیووردم ببین میگه To add NGINX yum repository, create a file named /etc/yum.repos.d/nginx.repo and paste one of the configurations below:
CentOS:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0 enabled=1
الان این فایل که میگه منظورش فولدره ؟ اسم فولدروبزارم /etc/yum.repos.d/nginx.repo
آیا یا محل فولدره من نفهمیدم چی میگه یکی کمک کنه

erfanx
June 3rd, 2017, 13:45
کسی نبود کمک کنه ؟

k-pax
June 3rd, 2017, 14:00
yum install epel-release
yum install nginx
systemctl start nginx
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

erfanx
June 3rd, 2017, 14:11
yum install epel-release
yum install nginx
systemctl start nginx
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

داداشه گلم من میگم epel رو نصب دارم فقط می خوام nginx رو از روی فایلش نصب کنم نه از طریق اینترنت

firebox
June 3rd, 2017, 16:41
# تمام دستور فرض بر این هست که با کاربر root وارد شدید. (این آموزش بر اساس Centos 7 هست)


اول باید یکسری پیش نیازها رو نصب کنید (C / C++ compiler, PCRE ،OpenSSL و Zlib)


yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel

بعد فایل Nginx که دانلود کردی رو از حالت فشرده خارج میکنی (لینک دانلود آخرین نسخه http://nginx.org/en/download.html ) وارد پوشه Nginx که از حالت فشرده خارج کردی میشه

بعد این مرحله نیاز هست که آپشن هایی که میخواهیم روی Nginx نصب بشه رو کانفیگ کنیم ،
برای مشاهده تمام آپیشن ها میتونید از دستور زیر استفاده کنید


./configure --help

این آپیشن ها ضروری هست ، شامل ، اسم نام کاربری و گروه کاربری nginx ، محل ذخیر فایل کانفیگ ، محل ذخیره فایل اجرایی nginx ، محل دخیره فایل های لاگ ، nginx.pid ،nginx.lock ، کتابخانه PCRE و همینطور نصب ماژول SSL

این دستور برای کانفیگ موارد بالا هست :


./configure --user=nginx --group=nginx --prefix=/etc/nginx --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.pid --lock-path=/var/run/nginx.lock --with-http_ssl_module --with-pcre

اگر مورد دیگه ای هم خواستید نصب بشه ، باید به دستور بالا اضافه کنید.


بعد کانفیگ کردن ، آخرین مرحله کامپایل کردن . Nginx هست


make
make install

بعد از تمام شدن کامپایل شدن nginx نیاز هست ، کاربر nginx رو تو سیستم ایجاد کنیم

اسم کاربر nginx هست (تو مرحله کانفیک این اسم رو انتخاب کرده بودیم)

useradd -d /etc/nginx/ -s /sbin/nologin nginx

مسیر کانفیگ nginx هم تو این مسیر هست :


/etc/nginx/nginx.conf




اکر فایروال فعال دارید ، باید اجازه دسترسی به کانکشن رو باز کنید با این دستور :‌ (Centos 7 پیشفرض firewalld نصب هست)


firewall-cmd --add-service=http

firewall-cmd --permanent --add-service=http

systemctl restart firewalld

بعد تمام اینکارها میتونید Nginx رو اجرا کنید با این دستور


/usr/sbin/nginx

چک کردن اینکه Nginx در حال اجراست :


netstat -tulpn | grep nginx


برای کنترل nginx از طریق systemctl باید یک فایل nginx رو توی این مسیر ایجاد کنید :

من از ادیتور vim استفاده میکنم ، شما میتونید از nano استفاده کنید


vi /etc/init.d/nginx

این محتوا رو بهش اضافه کنید :



#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# ***** and IMAP/POP3 ***** server
# processname: nginx
# config: /etc/nginx/nginx.conf
# pidfile: /var/run/nginx.pid
# user: nginx
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
lockfile=/var/run/nginx.lock
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac



بعد از ذخیره فایل ، دسترسی فایل رو تنظیم میکنیم :



chmod +x /etc/init.d/nginx

بعد از این کارها شما می تونید ، nginx رو از طریق systemctl ، start , stop و restart کنید .

اگر میخواهید nginx زمان بوت اجرا بشه ، این دستور رو وارد کنید:



systemctl enable nginx

ا

erfanx
June 5th, 2017, 10:55
دمت گرم داداش خیلی روون و خوب توضیح دادی ممنونم.